Skip to content

UNFINISHED - setup nginx from the configuration file #25

UNFINISHED - setup nginx from the configuration file

UNFINISHED - setup nginx from the configuration file #25

name: UNFINISHED - 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
#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: |
export $(grep -v '^#' .env | xargs) # Load environment variables
envsubst "$(printf '${%s} ' $(env | cut -d= -f1))" < ./nginx_template.txt > temp_default.conf
# Maybe look at https://www.baeldung.com/linux/envsubst-command to get an idea
- name: Check environment variables for Nginx
run: |
echo "PORT_PREFIX=${PORT_PREFIX}"
echo "GROUP_ID=${GROUP_ID}"
echo "DEV_POSTFIX=${DEV_POSTFIX}"
# - name: Create temporary nginx config file
# run: |
# export $(grep -v '^#' .env | xargs) # Load environment variables
# envsubst "$(printf '${%s} ' PROD_PORT_PREFIX GATEWAY_POSTFIX DEV_PORT_PREFIX STAG_PORT_PREFIX)" < ./nginx_template.txt > temp_default.conf
# - name: Create temporary nginx config file
- name: Copy temporary file to correct place
run: cp -L temp_default.conf /etc/nginx/conf.d/default.conf
- name: Show nginx file
run: cat /etc/nginx/conf.d/default.conf
# 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