Data Versão Descrição Autor
25/11/2019 1.0.0 Documento de entegra contínua Luciano dos Santos
27/11/2019 1.1.0 Adição do Diagrama do Pipeline João Lucas e Luciano

Entrega contínua

1. Introdução

   Este documento tem o objetivo de fornecer uma visão geral do pipeline de entrega contínua do projeto. Onde serão detalhadas ferramentas, ambientes e outras informações acerca do pipeline do produto.

2. Ferramentas

  • Gitlab-ci: Executar e monitorar os pipelines, espelhos de cada repositório do github foram criados no gitlab
  • Docker/Docker-compose: Usado na conteinerização do produto e execução do pipeline
  • Codacy: Usado para monitorar o teste de cobertura do backend e a qualidade do código tanto frontend quanto no backend.
  • Coveralls: Usado para monitorar a qualidade do código do frontend.
  • Flake8: Folha de estilo que é usada no backend para o padrão python.
  • TSlint: Folha de estilo que é usada no frontend para o padrão typescript.
  • Jest: Usando para realizar os testes unitários no frontend.

3. Pipeline Frontend

Para conferir os pipelines executados entre aqui

3.1. Estágios

  • build: O projeto é construído nessa fase, com o auxílio do docker que contém a imagem com as ferramentas de desenvolvimento.
  • test: Nessa fase os testes e o lint do projeto é executado para verificar se não há nenhum erro na aplicação.
  • deploy: Nessa fase ocorre o build do projeto novamente, e também o build do projeto para a produção, que é o build nativo do vuejs.
  • release production: Depois da fase do deploy é lançada o ambiente de produção do aplicativo, onde o aplicativo já está funcional.
  • release development: Outro ambiente que é lançado logo após a fase de deploy é o ambiente de desenvolvimento, onde estão as ultimas adições referentes ao desenvolvimento da aplicação.
  • release staging: Que é o ambiente de testes lançado após o deploy da aplicação.

3.2. Ambientes

   Quando ocorre a junção da branch da devel com a master o pipeline de produção é ativado, e quando uma branch é mesclada na devel o pipeline de desenvolvimento e staging são ativados.

  • Staging: Disponível em https://arbc-stg.netlify.com
  • Produção: Disponível em https://arbc.netlify.com

4. Pipeline Backend

Para conferir os pipelines executados entre aqui

4.1. Estágios

  • build: O projeto é construido nessa fase, com o auxílio do docker que contém a imagem com as ferramentas de desenvolvimento.
  • test: Nessa fase os testes e o lint do projeto é executado para verificar se não há nenhum erro na aplicação.
  • deploy: Nessa fase ocorre o build do projeto novamente, e também o build do projeto para a produção.
  • release production: Depois da fase do deploy é lançada o ambiente de produção do backend, onde o backend já está funcional.
  • release development: Outro ambiente que é lançado logo após a fase de deploy é o ambiente de desenvolvimento, onde estão as ultimas adições referentes ao desenvolvimento da api.
  • release staging: Que é o ambiente de testes lançado após o deploy da api.

4.2. Ambientes

  • Staging: Disponível em https://arbc-stg.herokuapp.com/
  • Produção: Disponível em https://arbc-app.herokuapp.com/