From b21cd3dafeab3e3605464bf3fb971b965aa37751 Mon Sep 17 00:00:00 2001 From: syoul Date: Tue, 17 Mar 2026 18:40:46 +0100 Subject: [PATCH] fix: contournement bug volumes+from_secret, healthcheck lit depuis workspace --- .woodpecker.yml | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index 186751d..c64b2a6 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -32,20 +32,9 @@ steps: - 'grep -q "^\.env$" .gitignore || (echo "ERREUR: .env manquant dans .gitignore" && exit 1)' - echo "Verifications de securite OK" - # Debug : volumes + from_secret - - name: debug-volumes-secret - image: docker:27-cli - environment: - PS_DOMAIN: - from_secret: ps_domain - volumes: - - /var/run/docker.sock:/var/run/docker.sock - commands: - - echo "PS_DOMAIN=${PS_DOMAIN}" - - # Etape 3 : Deploiement sur sonic via Docker socket - - name: deploy - image: docker:27-cli + # Etape 3a : Ecriture du .env depuis les secrets (sans volumes) + - name: write-env + image: alpine:3.20 environment: PS_DOMAIN: from_secret: ps_domain @@ -59,11 +48,18 @@ steps: from_secret: db_root_password DB_PASSWORD: from_secret: db_password + commands: + - printf 'PS_DOMAIN=%s\nPS_ADMIN_FOLDER=%s\nPRESTASHOP_ADMIN_EMAIL=%s\nPRESTASHOP_ADMIN_PASSWORD=%s\nDB_ROOT_PASSWORD=%s\nDB_PASSWORD=%s\n' "${PS_DOMAIN}" "${PS_ADMIN_FOLDER}" "${PRESTASHOP_ADMIN_EMAIL}" "${PRESTASHOP_ADMIN_PASSWORD}" "${DB_ROOT_PASSWORD}" "${DB_PASSWORD}" > .env.deploy + - echo "Fichier .env.deploy cree ($(wc -c < .env.deploy) octets)" + + # Etape 3b : Deploiement sur sonic via Docker socket (sans secrets) + - name: deploy + image: docker:27-cli volumes: - /var/run/docker.sock:/var/run/docker.sock - /opt/prestashop:/opt/prestashop commands: - - printf 'PS_DOMAIN=%s\nPS_ADMIN_FOLDER=%s\nPRESTASHOP_ADMIN_EMAIL=%s\nPRESTASHOP_ADMIN_PASSWORD=%s\nDB_ROOT_PASSWORD=%s\nDB_PASSWORD=%s\n' "${PS_DOMAIN}" "${PS_ADMIN_FOLDER}" "${PRESTASHOP_ADMIN_EMAIL}" "${PRESTASHOP_ADMIN_PASSWORD}" "${DB_ROOT_PASSWORD}" "${DB_PASSWORD}" > /opt/prestashop/.env + - cp .env.deploy /opt/prestashop/.env - chmod 600 /opt/prestashop/.env - cp docker-compose.yml /opt/prestashop/docker-compose.yml - cd /opt/prestashop && docker compose pull @@ -73,13 +69,11 @@ steps: # Etape 4 : Healthcheck post-deploiement - name: healthcheck image: curlimages/curl:8.11.0 - environment: - PS_DOMAIN: - from_secret: ps_domain commands: - | + PS_DOMAIN=$(grep '^PS_DOMAIN=' .env.deploy | cut -d= -f2) if [ -z "${PS_DOMAIN}" ]; then - echo "ERREUR: PS_DOMAIN non defini, verifier le secret Woodpecker" + echo "ERREUR: PS_DOMAIN non defini dans .env.deploy" exit 1 fi TARGET="http://${PS_DOMAIN}"