Setup nginx from the configuration file #11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: FINISHED and edited - setup nginx from the configuration file | |
| on: | |
| workflow_dispatch: | |
| jobs: | |
| deploy: | |
| runs-on: self-hosted | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| - name: Dotenv Action | |
| uses: falti/dotenv-action@v1.1.4 | |
| with: | |
| export-variables: true | |
| keys-case: bypass | |
| - name: Check environment variables | |
| run: env | |
| # - name: Check environment variables | |
| # run: env | |
| # - name: Debug: Print Environment Variables | |
| # run: | | |
| # env | grep DEV_ || echo "No DEV_ variables found" | |
| - name: Set environment variables | |
| run: | | |
| echo "DEV_PORT_PREFIX=80" >> $GITHUB_ENV | |
| echo "STAG_PORT_PREFIX=443" >> $GITHUB_ENV | |
| echo "GATEWAY_POSTFIX=" >> $GITHUB_ENV | |
| - name: Verify environment variables | |
| run: cat $GITHUB_ENV | |
| - name: Generate Nginx configuration | |
| run: cat ./nginx_template.txt | envsubst > temp_default.conf | |
| - name: Show generated Nginx configuration | |
| run: cat temp_default.conf | |
| - name: Copy Nginx config to the correct location | |
| run: sudo cp temp_default.conf /etc/nginx/conf.d/default.conf | |
| - name: Test NGINX Configuration | |
| run: sudo nginx -t | |
| - name: Restart NGINX | |
| run: sudo systemctl reload nginx | |
| #Doesn't work properly, envsubst replaces all instances of $variable and ${variable}, but we want to keep e.g., $host as nginx variables | |
| #- name: Create temporary nginx config file | |
| # run: envsubst < ./nginx_template.txt > temp_default.conf | |
| # Maybe look at https://www.baeldung.com/linux/envsubst-command to get an idea | |
| - name: Create temporary nginx config file | |
| run: envsubst '$REPLACE_ME $ANOTHER_VAR' < ./nginx_template.txt > temp_default.conf | |
| # - name: Create temporary nginx config file | |
| # run: envsubst '$REPLACE_ME $ANOTHER_VAR' < ./nginx_template.txt > temp_default.conf | |
| - name: Copy temporary file to correct place | |
| run: sudo cp temp_default.conf /etc/nginx/conf.d/default.conf | |
| # - name: Copy temporary file to correct place | |
| # run: sudo cp temp_default.conf /etc/nginx/conf.d/default.conf | |
| #added sudo here | |
| - name: Show nginx file | |
| run: cat /etc/nginx/conf.d/default.conf | |
| # - name: Show nginx file | |
| # run: cat /etc/nginx/conf.d/default.conf | |
| - name: Test NGINX Configuration | |
| run: sudo nginx -t | |
| # - name: Test NGINX Configuration | |
| # run: sudo nginx -t | |
| - name: Restart NGINX | |
| run: sudo systemctl reload nginx | |
| # - name: Restart NGINX | |
| # run: sudo systemctl reload nginx |