feat: try fix nginx
Laravel CI-CD / Tests Unitaires (push) Successful in 20s Details
Laravel CI-CD / Build & Push Docker (push) Successful in 37s Details
Laravel CI-CD / Deploy Blue/Green (push) Failing after 17s Details

This commit is contained in:
Leon Morival 2026-05-19 12:44:40 +02:00
parent 8d02dc6f7c
commit 7c2909d3b2
1 changed files with 13 additions and 3 deletions

View File

@ -86,19 +86,21 @@ jobs:
IMAGE_TAG: ${{ github.sha }}
DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }}
NGINX_CONTAINER: ${{ secrets.NGINX_CONTAINER }}
NGINX_CONF_FILE: ${{ secrets.NGINX_CONF_FILE }}
NGINX_UPSTREAM_FILE: ${{ secrets.NGINX_UPSTREAM_FILE }}
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
envs: REGISTRY,IMAGE_NAME,IMAGE_TAG,DEPLOY_PATH,NGINX_CONTAINER,NGINX_UPSTREAM_FILE
envs: REGISTRY,IMAGE_NAME,IMAGE_TAG,DEPLOY_PATH,NGINX_CONTAINER,NGINX_CONF_FILE,NGINX_UPSTREAM_FILE
script: |
set -eu
APP_DIR="${DEPLOY_PATH:-/opt/bemeal}"
COMPOSE_FILE="docker-compose.prod.yml"
COMPOSE_ENV_FILE=".env.prod"
NGINX_CONTAINER="${NGINX_CONTAINER:-nginx}"
NGINX_CONTAINER="${NGINX_CONTAINER:-nginx-app-1}"
NGINX_CONF_FILE="${NGINX_CONF_FILE:-/etc/nginx/conf.d/bemeal.conf}"
NGINX_UPSTREAM_FILE="${NGINX_UPSTREAM_FILE:-/etc/nginx/conf.d/bemeal-upstream.inc}"
DRAIN_SECONDS="${DRAIN_SECONDS:-20}"
@ -176,10 +178,14 @@ jobs:
docker exec "$TARGET_SERVICE" wget -qO- http://127.0.0.1/api/health >/dev/null
NGINX_CONF_DIR="$(dirname "$NGINX_CONF_FILE")"
NGINX_UPSTREAM_DIR="$(dirname "$NGINX_UPSTREAM_FILE")"
docker exec "$NGINX_CONTAINER" sh -c "mkdir -p '$NGINX_UPSTREAM_DIR'"
docker exec "$NGINX_CONTAINER" sh -c "mkdir -p '$NGINX_CONF_DIR' '$NGINX_UPSTREAM_DIR'"
docker exec "$NGINX_CONTAINER" sh -c "test ! -f '$NGINX_CONF_FILE' || cp '$NGINX_CONF_FILE' '$NGINX_CONF_FILE.bak'"
docker exec "$NGINX_CONTAINER" sh -c "test ! -f '$NGINX_UPSTREAM_FILE' || cp '$NGINX_UPSTREAM_FILE' '$NGINX_UPSTREAM_FILE.bak'"
docker cp docker/nginx/bemeal.conf "$NGINX_CONTAINER:$NGINX_CONF_FILE"
printf '%s\n' \
'upstream bemeal_api {' \
" server $TARGET_HOST:80 max_fails=3 fail_timeout=10s;" \
@ -190,6 +196,9 @@ jobs:
if docker exec "$NGINX_CONTAINER" sh -c "test -f '$NGINX_UPSTREAM_FILE.bak'" 2>/dev/null; then
docker exec "$NGINX_CONTAINER" sh -c "mv '$NGINX_UPSTREAM_FILE.bak' '$NGINX_UPSTREAM_FILE'"
fi
if docker exec "$NGINX_CONTAINER" sh -c "test -f '$NGINX_CONF_FILE.bak'" 2>/dev/null; then
docker exec "$NGINX_CONTAINER" sh -c "mv '$NGINX_CONF_FILE.bak' '$NGINX_CONF_FILE'"
fi
exit 1
fi
@ -197,6 +206,7 @@ jobs:
echo "Switch Nginx traffic to $TARGET"
docker exec "$NGINX_CONTAINER" nginx -s reload
docker exec "$NGINX_CONTAINER" rm -f "$NGINX_UPSTREAM_FILE.bak"
docker exec "$NGINX_CONTAINER" rm -f "$NGINX_CONF_FILE.bak"
echo "Restart workers on the new image"
$COMPOSE up -d --force-recreate --no-deps horizon scheduler