|
|
| [Home](home) | [**Escopo**](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Gerência](gerencia) | [Código](codigo) | [BD](Banco de Dados) | [Qualidade](qualidade) | [Frontend](frontend) | [Backend](backend) | [Analytics](analytics)
|
|
|
| :----------: | :-------------------------------: | :------------------: | :--------------: | :--------------------------: | :--------------------: | :------------------------: | :--------------: | :---------------: | :--------------------: | :---------------: | :--------------------: | ------------: |
|
|
|
# Processo de Desenvolvimento
|
|
|
|
|
|
## Descrição
|
|
|
|
|
|
Esta seção é dedicada a apresentar o processo de desenvolvimento do time, junto dela serão apresentados documentos referentes a maneira que o time se organizou e trabalha.
|
|
|
|
|
|
## Sumário
|
|
|
|
|
|
- [Git Workflow](#git-workflow)
|
|
|
|
|
|
# Git Workflow
|
|
|
![image](uploads/f1903e033ba8a34fc93391a0af478196/image.png)
|
|
|
### Branches
|
|
|
Para organização do código e dos devidos ambientes de deploy, as branches serão divididas da seguinte forma:
|
|
|
- **_main_**:
|
|
|
Versão estável e principal do projeto. Cada alteração adicionada nesta branch irá gerar, a partir do processo de CI/CD definido, um deploy do código será feito no ambiente de produção.
|
|
|
|
|
|
- **_develop_**:
|
|
|
Código em processo de validação manual e funcional. Nesta branch, uma versão unstable será gerada, e a partir do processo de CI/CD definido, um deploy do código será feito no ambiente de desenvolvimento (chamaremos de dev).
|
|
|
|
|
|
- **_features_**:
|
|
|
Código em processo de desenvolvimento e validação. As branches feature serão usadas para o desenvolvimento no ambiente local, e a partir do processo de CI/CD definido, o código será compilado e passará pela validação automatizada de testes de unidade.
|
|
|
|
|
|
### Nomenclatura das branches
|
|
|
|
|
|
O padrão utilizado para nomenclatura da branches será em inglês e deve seguir o padrão feature/nome-da-feature,
|
|
|
onde os nomes podem ser retirados diretamente do quadro de User Stories.
|
|
|
Caso seja necessário alguma correção, deverá ser modificado o prefixo para "fix", exemplo fix/nome-da-correção.
|
|
|
|
|
|
Primeiramente vá para a branch develop e atualize para a versão atual:
|
|
|
```
|
|
|
git checkout develop
|
|
|
git pull
|
|
|
```
|
|
|
Caso a branch da feature ainda não estiver criada utilize:
|
|
|
```
|
|
|
git checkout -b nome-da-branch
|
|
|
```
|
|
|
### Commits
|
|
|
Após executar este comando você estará na nova branch, faça as alterações necessárias no código e commite as mudanças:
|
|
|
```
|
|
|
git add .
|
|
|
git commit -m "comentario-do-commit"
|
|
|
```
|
|
|
O comentário deve descrever o que foi alterado no código e deverá ser em inglês. Não hesite em realizar vários commits, assim podemos o desenvolvimento fica melhor documentado.
|
|
|
|
|
|
Após, se for o primeiro commit dessa branch, para que ela troque de local para remote:
|
|
|
```
|
|
|
git push --set-upstream origin nome-da-branch
|
|
|
```
|
|
|
Caso contrário realize um:
|
|
|
```
|
|
|
git push
|
|
|
```
|
|
|
Lembre de sempre enviar seus commits para o remoto com o uso do `git push` após realizar seu trabalho, assim os outros desenvolvedores terão sempre as ultimas atualizações do código.
|
|
|
|
|
|
### Merge requests
|
|
|
|
|
|
Depois de uma feature ter sido desenvolvida e estiver pronta de acordo com os critérios de aceitação, é necessário que a mesma seja enviada para a branch de develop.
|
|
|
Para isso é necessário se certificar que não terá conflitos, siga os seguintes passos:
|
|
|
```
|
|
|
git checkout develop
|
|
|
git pull
|
|
|
git checkout nome-da-branch
|
|
|
git merge develop
|
|
|
```
|
|
|
Resolva os conflitos caso ocorra, após resolvê-los, envie as alterações para o Gitlab:
|
|
|
```
|
|
|
git push
|
|
|
```
|
|
|
Abra o merge request da sua branch para a develop, no título coloque o nome da feature que foi desenvolvida,
|
|
|
e descreva brevemente o que foi realizado no campo de descrição. |
|
|
\ No newline at end of file |