Skip to content

Commit

Permalink
Merge pull request #478 from fga-gpp-mds/feature/434
Browse files Browse the repository at this point in the history
Feature/434
  • Loading branch information
miguelpimentel authored Jun 27, 2018
2 parents d35cb70 + fdc30e0 commit 194cfcd
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
58 changes: 58 additions & 0 deletions docs/EPS/Pipeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
### Histórico da Revisão
| Data | Versão | Descrição | Autor |
|---|---|---|---|
| 26/06/2018| 0.1 | Criado versão inicial | Geovanni Oliveira |
----
### Introdução
O pipeline é usado tanto para realização da Integração Contínua quanto para o Deploy Contínuo.


### Integração Contínua
O GitLab CI é usado pela equipe apara a implementação da integração contínua, e nela existem três estágios

* Test
* Build
* Deploy
#### Test
No estágio de teste é executado a **análise estática** de código, feita pela ferramenta Detekt, cujo os parâmetros aceitáveis são:

**Métricas Detekt**
* Code Smells < 10
* Adequação à folha de estilo
* Complexidade ciclomática por método < 10
* Método < 30 linhas
* Classe <= 15 métodos


Em paralelo s testes unitários são executados, caso algúm teste falhe o pipeline quebra ou se a cobertura de testes estiver menor do que a aceitável ele também quebra.

Para a Release 1 o critério para passar no estágio de Test era ter 40% de cobertura de código, já na Release 2 o objetivo era de deixar o projeto com cobertura de 90%, mas como até alguns dias atrás não estava, o projeto estava com o critério que de acordo que acobertura ia aumentando ela não poderia abaixar, somente aumentar, e até chegar à 90% de cobertura esse critério foi utilizado.

Esta etapa é feita em todas as branches e tags.
#### Build

Nesta etapa é verificado se o projeto está com problemas em sua compilação e sua build.

Além de fazer a build do projeto, esta etapa é responsável por fazer o deploy da documentação do projeto para a página do GitHub Pages, porém está etapa só é realizada na branch dev.
Assim como a etapa anterior, esta etapa é executada em todas as branches e tags.
<img src = "https://i.imgur.com/gFm6hHB.png" >

### Deploy Contínuo
Stage onde acontece: - deploy
O Deploy Contínuo é feito com a participação do GitLab CI e do fastlane, no script do o Deploy Contínuo é feito ao gerar uma nova tag. O Aplicativo é submetido para Play Store em Modo Beta, devido a algumas limitações externas, fora de controle, impostas à equipe.


<div>
<p align="center">
<img src = "https://i.imgur.com/BGA37Jf.png" width="30%">
</p>
</div>

### CI no servidor de imagens

O servidor de imagens se encontra em um repositório separado em relação ao de código e nele também há a Integração Contínua, e em relação ao servidor o CI tem apenas três estágios, e são eles:

* Test
* Build

A Integração Contínua do servidor é feito em um outro repositório a parte do repositório do código fonte.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ pages:
- Gestão de Risco: EPS/GestaoDeRisco.md
- Definição de Produtividade: EPS/DefinicaoDeProdutividade.md
- Canvas: EPS/Canvas.md
- Pipeline: EPS/Pipeline.md
- EVM vs Burndown: EPS/EVM_vs_Burndown.md
- Plano de Qualidade:
- Abtraction Sheet: EPS/PlanoDeQualidade/AbstractionSheet.md
Expand Down

0 comments on commit 194cfcd

Please sign in to comment.