Ir para o conteúdo

Histórico de revisão

Data Versão Alteração Autor
16/03/2022 1.0 Criado documento de pipeline Lucas Lopes

Pipelines

   O objetivo de uma pipeline é automatizar o processo de entrega de software em produção de forma rápida, ao mesmo tempo garantindo sua estabilidade, qualidade e resiliência

Ambiente de desenvolvimento

No ambiente de desenvolvimento, há três pipelines diferentes.

A primeira, executa a aplicação pelo sonar para estimar as métricas de qualidade.

Já a segunda, depois de ter passado pela primeira pipeline, faz o deploy automaticamente na heroku atráves da branch devel.
A terceira, ao criar uma tag, é gerado uma nova release e é enviada as métricas para o repositório de documentação

Ambiente de documentação

No ambiente de documentação, só existe uma pipeline. Ao fazer um push, é enviado ao github pages a nova versão da página.

Fluxo de desenvolvimento

Há 2 ramos (branchs) fixos:

main: ambiente de produção;
devel: ambiente de homologação.

As mudanças da devel que são fundidas (Pull Request merge) na main não geram release ou geram uma release (major ou minor).

As mudanças de um ramo do tipo hotfix que são fundidas (Pull Request Merge) na main geram uma release patch.

O desenvolvimento de novas funcionalidades deve derivar do ramo devel, em seguidas fundidas na devel e depois integrar todas as funcionalidades na devel. Por fim, é fundida na main