Pipelines
Status: Finalizado ✅
Toda pipeline possui 3 etapas, são elas: Source, Build e Deploy.
Na etapa Source
é feito o download do código fonte de acordo com a branch que foi atualizada, seja ela, a branch develop
(para ambiente dev), staging
(para ambiente staging) ou main
(para ambiente de produção).
Na etapa Build
é feito o build do projeto através do CodeBuild
. A build do projeto é detalhada no seguinte arquivo buildspec.yml
.
Normalmente na etapa de build são realizadas as seguintes tarefas.
- Instalação das dependências
- Executar os linters do projeto
- Rodar os testes do projeto
- Build do código fonte (caso seja realizado)
- Gera-se os artefatos para o Amazon S3 (com todo os arquivos necessários para rodar o software)
Na etapa Deploy
é feito o deploy da aplicação no AWS ElasticBeanstalk
no ambiente correspondente.
Pipelines de frontend
obraplaydevelop
Essa pipeline é executada toda vez que há um novo commit na branch develop
. Normalmente, é disparada ao se aceitar um Pull Request (PR).
obraplaystaging
Essa pipeline é executada toda vez que há um novo commit na branch staging
. Quando a branch develop
tiver que ser promovida para staging
, deve-se fazer checkout
para branch staging
e rebase da develop
. Com a staging no mesmo commit da develop
, realiza-se o git push
.
Com esse git push
, a pipeline obraplaystaging
é acionada e realiza o deploy no ambiente staging
automaticamente.
obraplayproduction
Essa pipeline é executada toda vez que há um novo commit na branch main
. Quando a branch staging
tiver quee ser promovida para main
, deve-se fazer checkout
para branch main
e rebase da staging
(que já passou por deploy). Realiza-se o git push
da main
que estará no mesmo commit da staging
.
Com esse git push
, a pipeline obraplayproduction
é acionada e realiza o deploy no ambiente production
automaticamente.
ATENÇÃO: Ao realizar deploy no ambiente de produção é necessário criar uma nova TAG no GIT a fim de acompanhar as versões que estão em produção para os usuários finais. Fazendo push da TAG para o CodeCommit
.
Pipeline de backend
obraplayapi
Esse pipeline realiza o deploy do backend que é muito mais simplificado pois não necessita de compilação/transpilação de código visto que o python é uma linguagem interpretada.
Essa pipeline é executada toda vez que há um novo commit na branch develop
(via PR).
Para promoção dos ambientes, deve-se usar a aba application versions
no AWS ElasticBeanstalk
diferentemente do front-end, visto que há build separadas para cada ambiente.