Skip to content

Setup Nginx from the Configuration File #2

Setup Nginx from the Configuration File

Setup Nginx from the Configuration File #2

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: Load environment variables
uses: falti/dotenv-action@v1.1.4
with:
export-variables: true
keys-case: bypass
- name: Check environment variables
run: env
- name: Escape Nginx variables
run: sed -i 's/\$http_host/\\$http_host/g; s/\$remote_addr/\\$remote_addr/g; s/\$proxy_add_x_forwarded_for/\\$proxy_add_x_forwarded_for/g' ./nginx_template.txt
- name: Substitute environment variables
run: envsubst '${PROD_PORT_PREFIX} ${GATEWAY_POSTFIX} ${DEV_PORT_PREFIX} ${STAG_PORT_PREFIX}' < ./nginx_template.txt > temp_default.conf
- name: Copy Nginx config to server
run: sudo cp temp_default.conf /etc/nginx/conf.d/default.conf
- name: Show updated Nginx config
run: cat /etc/nginx/conf.d/default.conf
- name: Validate Nginx config
run: sudo nginx -t
- name: Reload Nginx
run: sudo systemctl reload nginx