Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Wiki Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Sem Barreiras
  • WikiWiki
  • Wiki
  • processo

processo · Changes

Page history
Adiciona secao sobre pipeline CI CD authored May 02, 2024 by Fernanda Ferreira de Mello's avatar Fernanda Ferreira de Mello
Hide whitespace changes
Inline Side-by-side
processo.md
View page @ b2759a88
...@@ -9,6 +9,7 @@ Esta página descreve os processos utilizados pelo time ao longo do projeto. ...@@ -9,6 +9,7 @@ Esta página descreve os processos utilizados pelo time ao longo do projeto.
- [Desenvolvimento](#desenvolvimento) - [Desenvolvimento](#desenvolvimento)
- [Fluxo de trabalho no Git](#fluxo-de-trabalho-no-git) - [Fluxo de trabalho no Git](#fluxo-de-trabalho-no-git)
- [Práticas de CI/CD](#práticas-de-cicd)
## Desenvolvimento ## Desenvolvimento
...@@ -100,3 +101,24 @@ As revisões serão feitas **por apenas um AGES 3 e AGES 4**, assim devendo ele ...@@ -100,3 +101,24 @@ As revisões serão feitas **por apenas um AGES 3 e AGES 4**, assim devendo ele
Uma vez que a revisão tenha sido concluída e todos os pontos de ajuste apontados tenham sido commitador na Source Branch, realize o merge e envie as alterações à branch develop. Uma vez que a revisão tenha sido concluída e todos os pontos de ajuste apontados tenham sido commitador na Source Branch, realize o merge e envie as alterações à branch develop.
No final de cada Sprint, para gerar uma nova versão do projeto a ser apresentada para o cliente, deve ser aberto um Merge Request para realizar o merge da branch develop na branch master, atualizando o código de produção com os desenvolvimentos realizados durante a sprint. No final de cada Sprint, para gerar uma nova versão do projeto a ser apresentada para o cliente, deve ser aberto um Merge Request para realizar o merge da branch develop na branch master, atualizando o código de produção com os desenvolvimentos realizados durante a sprint.
### Práticas de CI/CD
Para automatizar processos e otimizar o ciclo de desenvolvimento do software do projeto, criou-se uma pipeline de integração contínua (CI) e entrega contínua (CD) no projeto de Backend a partir da ferramenta GitLab CI/CD.
A pipeline criada pode ser vista [aqui](https://tools.ages.pucrs.br/sem-barreiras/sembarreiras-backend/-/blob/main/.gitlab-ci.yml) e contém 4 estágios que serão descritos abaixo:
<img src="./resources/images/gitlab-pipeline-cicd.png" width="450">
1. **Build**: executado para qualquer commit realizado em qualquer uma das branches do projeto, realiza a compilação e o build do projeto de Backend.
2. **Test**: envolve a execução de testes unitários do projeto de Backend, e a análise estática do código com a ferramenta Checkstyle para verificar se os padrões estão sendo seguidos.
- A execução de testes unitários é feita para qualquer commit realizado em qualquer uma das branches do projeto.
- A análise de código é executada apenas na ocorrência de: um Merge Request, um commit na branch develop, ou um commit na branch main.
3. **Package**: envolve o build da imagem Docker do projeto de Backend e o push desta imagem para o repositório ECR da AWS.
- Ao realizar um commit na branch develop, realiza-se o push de uma imagem com a tag "develop" para o repositório.
- Ao se criar uma Tag a partir da branch main, realiza-se o push de uma imagem, identificada pelo nome da tag, para o repositório.
4. **Deploy**: envolve a conexão SSH com a instância EC2 da AWS para realizar o deploy da nova versão do container do projeto de Backend.
- Ao realizar um commit na branch develop, realiza-se o deploy da imagem "develop" gerada, para o ambiente de staging.
- Ao se criar uma Tag a partir da branch main, realiza-se o deploy da imagem identificada pelo nome da tag, para o ambiente de produção.
Os dois primeiros estágios estão relacionados ao processo de integração contínua, ou seja, de integrar novas mudanças no código do repositório de Backend. Por outro lado, os dois últimos estágios estão relacionados à entrega contínua, no sentido que automatizam a liberação do código gerado, incluindo a sua implantação no ambiente produtivo.
\ No newline at end of file
Clone repository

SemBarreiras-Logo__1_

Sem Barreiras

Home

Escopo

Processo

Design/Mockups

Configuração

Arquitetura

Gerência

Banco de Dados

Qualidade

Frontend

Backend