diff --git a/.woodpecker.yml b/.woodpecker.yml index da10be9..dba17d8 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -6,8 +6,21 @@ when: steps: - # Etape 1 : Build de l'application statique + # Etape 0 : Validation syntaxique du docker-compose # Les vars CI (CI_REPO_OWNER, CI_COMMIT_BRANCH) sont injectees automatiquement par Woodpecker + - name: validate + image: docker:27-cli + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + RADAR_DOMAIN: validate.example.com + commands: + - | + export COMPOSE_PROJECT_NAME=$(printf '%s-%s-%s' "$CI_REPO_OWNER" "$CI_REPO_NAME" "$CI_COMMIT_BRANCH" | tr 'A-Z/' 'a-z-') + docker compose -f docker-compose.business.yml config --quiet + - echo "docker-compose.business.yml valide" + + # Etape 1 : Build de l'application statique - name: build image: node:20-alpine environment: @@ -42,10 +55,9 @@ steps: volumes: - /var/run/docker.sock:/var/run/docker.sock commands: - - export $(cat .env.deploy | xargs) - - docker compose -f docker-compose.business.yml build --no-cache - - docker compose -f docker-compose.business.yml up -d --remove-orphans - - docker compose -f docker-compose.business.yml ps + - docker compose --env-file .env.deploy -f docker-compose.business.yml build --no-cache + - docker compose --env-file .env.deploy -f docker-compose.business.yml up -d --remove-orphans + - docker compose --env-file .env.deploy -f docker-compose.business.yml ps - | DOMAIN=$(grep '^RADAR_DOMAIN=' .env.deploy | cut -d= -f2) diff --git a/docker-compose.business.yml b/docker-compose.business.yml index 66ec2b8..b3d3468 100644 --- a/docker-compose.business.yml +++ b/docker-compose.business.yml @@ -20,7 +20,7 @@ services: # Registrator lit l'IP du conteneur depuis le reseau "sonic" (-useIpFromNetwork sonic) # et enregistre le service dans Consul avec le tag urlprefix- -> Fabio route vers ce service - SERVICE_3000_NAME=${COMPOSE_PROJECT_NAME:-ajr-techradardev-main}-app-3000 - - SERVICE_3000_TAGS=urlprefix-${RADAR_DOMAIN}/ + - SERVICE_3000_TAGS=urlprefix-${RADAR_DOMAIN}/* - SERVICE_3000_CHECK_TCP=true # sonic-acme-1 (acme-companion) emet le cert TLS et le copie dans /host/certs/ # Fabio le detecte automatiquement par SNI pour HTTPS