CRM Docs
Pipelines CI/CD

Pipeline Production

Deploy em produção, Git tag, GitHub Release e remoção da branch release

Arquivo: workflows/deploy-production.yml
Nome no Actions: Deploy to Amazon ECS

Trigger

on:
  push:
    branches:
      - main

Push na branch main após merge da release-X.Y.Z — etapa final da cadeia staging → canary → production.

Destino na AWS

RecursoValor
Regiãous-west-2
Repositório ECRqyon-crm-geiko-service/production
Cluster ECSqyon-crm
Service ECSqyon-crm-geiko-production-svc

Etapas exclusivas (antes do deploy AWS)

Production adiciona passos de versionamento e release que não existem em staging nem canary:

#StepO que faz
Create and Push TagCria tag Git X.Y.Z e envia para origin
Check Latest TagLog da versão (validação)
Remove branchgit push -d origin refs/heads/release-X.Y.Z
Create GitHub releaseRelease oficial com notas em markdown

Git tag

git tag ${{ steps.extract_tag.outputs.tag }}
git push origin ${{ steps.extract_tag.outputs.tag }}

GitHub Release

Usa actions/create-release@v1 com:

CampoValor
tag_name / release_nameVersão semver (X.Y.Z)
body_path./release/release-X.Y.Z.md
draftfalse
prereleasefalse
Tokensecrets.QYONDEVOPS_TOKEN

O arquivo ./release/release-<versão>.md precisa existir no repositório antes do merge em main. Sem ele, a etapa Create GitHub release falha.

Após a release, o pipeline segue com credenciais AWS, build ECR e deploy ECS — mesmo padrão dos outros ambientes.

Build e deploy

ECR_REPOSITORY=qyon-crm-geiko-service/production
# push :X.Y.Z e :latest

aws ecs update-service \
  --cluster qyon-crm \
  --service qyon-crm-geiko-production-svc \
  --force-new-deployment

Fluxo completo

Checklist antes do merge em main

  1. Branch de origem no formato release-X.Y.Z.
  2. Arquivo release/release-X.Y.Z.md com notas da versão.
  3. Validação prévia em staging e canary.
  4. Secret QYONDEVOPS_TOKEN configurado no repositório (permissão para criar releases).

Voltar

On this page