CRM Docs
Pipelines CI/CD

Pipeline Canary

Deploy automático para canary ao fazer push na branch canary

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

Trigger

on:
  push:
    branches:
      - canary

Qualquer push na branch canary dispara o workflow — tipicamente após validação em staging e merge de release-X.Y.Z.

Destino na AWS

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

Etapas do job

A sequência é idêntica à de staging, mudando apenas repositório ECR, cluster e service:

#StepO que faz
1CheckoutClona o repositório
2Use Node.js 20Instala Node 20
3Get Branch NameResolve branch release-X.Y.Z
4Extract Tag from BranchExtrai semver ou falha
5Configure AWS credentialsAWS_CRM_*
6Login to Amazon ECRLogin no registry
7Build, tag, and push imageTags X.Y.Z e latest em .../canary
8Deploy to ECSaws ecs update-service --cluster qyon-crm-canary --service qyon-crm-geiko-canary-svc --force-new-deployment

Build da imagem

ECR_REPOSITORY=qyon-crm-geiko-service/canary
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:latest .

Papel do canary

O ambiente canary recebe a mesma versão semver validada em staging, em infraestrutura separada (qyon-crm-canary), permitindo observar comportamento com tráfego real ou limitado antes da produção.

Esta pipeline também não cria Git tag nem GitHub Release — isso só ocorre em production.

Fluxo na cadeia de deploy

Voltar

On this page