refactor: convention COMPOSE_PROJECT_NAME user-project-branch + labels Registrator
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- Convention renommée user-project-branch (syoul-prestashop-main)
- COMPOSE_PROJECT_NAME généré dynamiquement depuis CI vars (CI_REPO_OWNER/CI_REPO_NAME/CI_COMMIT_BRANCH) avec tr pour lowercase + /→-
- SERVICE_NAME → ${COMPOSE_PROJECT_NAME}-app
- SERVICE_80_NAME → ${COMPOSE_PROJECT_NAME}-app-80
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -17,7 +17,7 @@ steps:
|
||||
PRESTASHOP_ADMIN_PASSWORD: placeholder
|
||||
commands:
|
||||
- |
|
||||
export COMPOSE_PROJECT_NAME="$CI_REPO_OWNER-$CI_COMMIT_BRANCH-prestashop"
|
||||
export COMPOSE_PROJECT_NAME=$(printf '%s-%s-%s' "$CI_REPO_OWNER" "$CI_REPO_NAME" "$CI_COMMIT_BRANCH" | tr 'A-Z/' 'a-z-')
|
||||
export PS_DOMAIN="validate.example.com"
|
||||
export PS_ADMIN_FOLDER="admin-secure"
|
||||
docker compose config --quiet
|
||||
@@ -54,9 +54,8 @@ steps:
|
||||
from_secret: db_password
|
||||
commands:
|
||||
- env | grep -E "^(PS_DOMAIN|PS_ADMIN_FOLDER|PRESTASHOP_ADMIN_EMAIL|PRESTASHOP_ADMIN_PASSWORD|DB_ROOT_PASSWORD|DB_PASSWORD)=" > .env.deploy
|
||||
# COMPOSE_PROJECT_NAME : convention user-env-project, valeur fixe pour ce depot
|
||||
# Les vars CI ne sont pas disponibles comme vars shell dans les steps sans Docker socket
|
||||
- echo "COMPOSE_PROJECT_NAME=syoul-main-prestashop" >> .env.deploy
|
||||
# COMPOSE_PROJECT_NAME : convention user-project-branch, genere depuis les vars CI
|
||||
- OWNER=$(echo "$CI_REPO_OWNER" | tr 'A-Z' 'a-z') && REPO=$(echo "$CI_REPO_NAME" | tr 'A-Z' 'a-z') && BRANCH=$(echo "$CI_COMMIT_BRANCH" | tr 'A-Z/' 'a-z-') && echo "COMPOSE_PROJECT_NAME=$OWNER-$REPO-$BRANCH" >> .env.deploy
|
||||
- echo "Fichier .env.deploy cree ($(wc -c < .env.deploy) octets)"
|
||||
|
||||
# Etape 3b : Deploiement sur sonic via Docker socket
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Convention de nommage : user-env-project (ex: syoul-main-prestashop)
|
||||
# Convention de nommage : user-project-branch (ex: syoul-prestashop-main)
|
||||
# Permet plusieurs instances en parallele (prod/test/multi-user) sans collision
|
||||
name: ${COMPOSE_PROJECT_NAME:-syoul-main-prestashop}
|
||||
name: ${COMPOSE_PROJECT_NAME:-syoul-prestashop-main}
|
||||
|
||||
services:
|
||||
prestashop:
|
||||
image: prestashop/prestashop:8-apache
|
||||
container_name: ${COMPOSE_PROJECT_NAME:-syoul-main-prestashop}-app
|
||||
container_name: ${COMPOSE_PROJECT_NAME:-syoul-prestashop-main}-app
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
db:
|
||||
@@ -29,8 +29,8 @@ services:
|
||||
labels:
|
||||
# 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_NAME: "prestashop"
|
||||
SERVICE_80_NAME: "prestashop"
|
||||
SERVICE_NAME: ${COMPOSE_PROJECT_NAME}-app
|
||||
SERVICE_80_NAME: ${COMPOSE_PROJECT_NAME}-app-80
|
||||
SERVICE_80_TAGS: urlprefix-${PS_DOMAIN}/*
|
||||
# Consul healthcheck TCP : verifie que le port 80 est ouvert
|
||||
# HTTP check inutilisable : PS_SSL_ENABLED_EVERYWHERE=1 redirige tout en 302 -> Consul failing
|
||||
@@ -45,7 +45,7 @@ services:
|
||||
|
||||
db:
|
||||
image: mariadb:10.11
|
||||
container_name: ${COMPOSE_PROJECT_NAME:-syoul-main-prestashop}-db
|
||||
container_name: ${COMPOSE_PROJECT_NAME:-syoul-prestashop-main}-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
|
||||
|
||||
Reference in New Issue
Block a user