Files
rx.scoreodonto.com/docker-compose.prod.yml
VPS 4 Deploy Agent 7ffaead255
build-and-promote / build (push) Failing after 7m7s
build-and-promote / promote (push) Has been skipped
feat(deploy): padroniza rx p/ Build Once->Promote->Deploy (CI registry, compose.prod, badge/health)
- .gitea/workflows/build.yml: push->build rx-scoreodonto:<sha> no registry; tag->promote+deploy
- docker-compose.prod.yml: image do registry, APP_VERSION/GIT_COMMIT em runtime
- deploy-prod.sh: VPS1 pull + up --no-build (antigo vira deploy-prod-legado-webhook.sh)
- /api/health usa APP_VERSION (tag) com fallback version.txt; badge no canto
- webhook 9003 aposentado (gatilho agora e CI/tag)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 02:39:30 +02:00

20 lines
1.1 KiB
YAML

# Override de PRODUÇÃO (VPS1): roda a IMAGEM VERSIONADA do registry em vez de buildar.
# A produção não builda — só consome a imagem pronta publicada pela CI (build once).
#
# Uso (na VPS1), via deploy-prod.sh <tag> <commit>, que exporta RX_TAG/RX_COMMIT e faz:
# docker compose -f docker-compose.yml -f docker-compose.prod.yml pull app
# docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --no-build app
# O --no-build garante que o build: do compose base seja ignorado (usa a imagem puxada).
#
# VERSÃO EM RUNTIME: a versão semântica exibida (badge → /api/health) vem da TAG promovida,
# injetada via `environment` abaixo — NÃO do build. Assim a MESMA imagem pode ser promovida
# sob qualquer tag sem rebuild (pré-requisito do "build once, promote the same artifact").
# O `commit` também é injetado em runtime (vem do CI que buildou a imagem do commit).
services:
app:
image: git.clube67.com/ruicesar/rx-scoreodonto:${RX_TAG:-latest}
environment:
- APP_VERSION=${RX_TAG:-dev}
- APP_ENV=PROD
- GIT_COMMIT=${RX_COMMIT:-dev}