Skip to content
name: Deploy Nginx Configuration
on:
push:
branches:
- main
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: Generate Nginx Config with Environment Variables
run: envsubst '${PROD_PORT_PREFIX} ${DEV_PORT_PREFIX} ${STAG_PORT_PREFIX} ${GATEWAY_POSTFIX}' < nginx_template.txt > nginx_securefit.conf
- name: Show Generated Nginx Config (Before Deploy)
run: cat nginx_securefit.conf
- name: Print Current User
run: whoami
- name: Copy Nginx Config to Server
run: sudo cp nginx_securefit.conf /etc/nginx/conf.d/nginx_securefit.conf
- name: Show Deployed Nginx Config
run: cat /etc/nginx/conf.d/nginx_securefit.conf
- name: Restart Nginx
run: sudo systemctl reload nginx
- name: Verify Nginx Config
run: sudo nginx -t