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/