Pipelines CI/CD
Pipeline Staging
Deploy automático para homologação ao fazer push na branch staging
Arquivo: workflows/deploy-staging.yml
Nome no Actions: Deploy to Amazon ECS (staging)
Trigger
on:
push:
branches:
- stagingQualquer push na branch staging dispara o workflow — em geral após merge de uma branch release-X.Y.Z.
Destino na AWS
| Recurso | Valor |
|---|---|
| Região | us-west-2 |
| Repositório ECR | qyon-crm-geiko-service/staging |
| Cluster ECS | qyon-crm-geiko-staging |
| Service ECS | qyon-crm-geiko-staging-svc |
Etapas do job
| # | Step | O que faz |
|---|---|---|
| 1 | Checkout | Clona o repositório |
| 2 | Use Node.js 20 | Instala Node 20 (actions/setup-node@v3) |
| 3 | Get Branch Name | Resolve o nome da branch de release (PR ou mensagem de merge) |
| 4 | Extract Tag from Branch | Valida padrão release-X.Y.Z e extrai a versão |
| 5 | Configure AWS credentials | Autentica com AWS_CRM_* secrets |
| 6 | Login to Amazon ECR | Login no registry |
| 7 | Build, tag, and push image | docker build + push com tags X.Y.Z e latest |
| 8 | Deploy to ECS | aws ecs update-service --cluster qyon-crm-geiko-staging --service qyon-crm-geiko-staging-svc --force-new-deployment |
Build da imagem
docker build -t $ECR_REGISTRY/qyon-crm-geiko-service/staging:$IMAGE_TAG .
docker build -t $ECR_REGISTRY/qyon-crm-geiko-service/staging:latest .
docker push ...:$IMAGE_TAG
docker push ...:latestIMAGE_TAG vem da branch release-X.Y.Z (apenas a parte semver).
O que esta pipeline não faz
Diferente da produção, staging não:
- Cria tag Git no repositório
- Abre GitHub Release
- Remove a branch
release-*no remoto
Fluxo recomendado
Voltar
- Visão geral das pipelines
- Canary — próximo ambiente na cadeia