Setup Nginx from the configuration file #2
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: 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 | |
| #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 '$PROD_PORT_PREFIX,$DEV_PORT_PREFIX,$STAG_PORT_PREFIX,$GATEWAY_POSTFIX' < ./nginx_template.txt > nginx_securefit.conf | |
| - name: Copy temporary file to correct place | |
| run: sudo cp nginx_securefit.conf /etc/nginx/conf.d/nginx_securefit.conf | |
| - name: Show nginx file | |
| run: sudo cat /etc/nginx/conf.d/nginx_securefit.conf | |
| - name: Restart Nginx | |
| run: sudo systemctl restart nginx | |
| - name: Verify that nginx configuration works | |
| run: sudo nginx -t |