... | ... | @@ -11,3 +11,121 @@ |
|
|
<th> [BD](banco de dados) </th>
|
|
|
</tr>
|
|
|
</table>
|
|
|
# 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
|
|
|
|
|
|

|
|
|
|
|
|
### Gitflow
|
|
|
O Gitflow é um modelo alternativo de ramificação do Git que consiste no uso de ramificações de recursos (features) e várias ramificações primárias (Master e Development). Todas as novas branchs de desenvolvimento devem ser criadas abaixo da development.
|
|
|
|
|
|
### Branches
|
|
|
Cada branch relacionada a features será criada a partir da branch development.
|
|
|
|
|
|
#### Nomes
|
|
|
|
|
|
Como padrão para nomes de branches, foi decidido o seguinte:
|
|
|
|
|
|
```
|
|
|
<Tipo-desenvolvimento>/<US-Número>-<nomeDoItem>
|
|
|
```
|
|
|
|
|
|
Onde os tipos de desenvolvimento podem ser:
|
|
|
|
|
|
feature/feat – são branches para o desenvolvimento de uma funcionalidade específica. Elas devem ter o nome iniciado por feature, por exemplo, “feature / login-system”. É importante saber que essas features branches são criadas sempre a partir da branch development. Portanto, quando finalizada, ela é removida após realizar o merge com a Branch Develop.
|
|
|
|
|
|
fix – Uma branch criada a partir da development para realizar correções encontradas no sistema ainda no momento desenvolvimento, Quando concluída ela é excluída após realizar o merge.
|
|
|
|
|
|
Exemplo de Componentes:
|
|
|
|
|
|
```
|
|
|
feat/US-01-endpoint-restaurant
|
|
|
fix/US-01-soft-delete-restaurant
|
|
|
```
|
|
|
|
|
|
#### Criação
|
|
|
|
|
|
Para garantir que o processo de desenvolvimento esteja sempre atualizado, lembre-se de executar o seguinte comando na branch development antes de criar uma branch nova:
|
|
|
|
|
|
```
|
|
|
git pull origin development
|
|
|
```
|
|
|
|
|
|
Depois da execução desse comando é necessário oficialmente criar a Branch, para isso, execute o seguinte comando:
|
|
|
|
|
|
```
|
|
|
git checkout -b <nomeDaBranch>
|
|
|
```
|
|
|
|
|
|
Pronto! Agora você já pode começar a programar na sua Branch.
|
|
|
|
|
|
### Commits
|
|
|
|
|
|
Para que o código desenvolvido seja salvo em sua branch de maneira remota, é necessário realizar os comandos de `commit` e `push`
|
|
|
|
|
|
#### Salvando Localmente
|
|
|
|
|
|
Para garantir que apenas o código necessário para funcionamento da tarefa lembre-se de realizar o comando `add` apenas nos arquivos **essenciais** para a tarefa:
|
|
|
|
|
|
```
|
|
|
git add <nomeDoArquivo>
|
|
|
|
|
|
```
|
|
|
|
|
|
Para adicionar todas arquivos onde ocorreram alterações, realize o comando:
|
|
|
|
|
|
```
|
|
|
git add . (Adiciona todas alterações)
|
|
|
|
|
|
```
|
|
|
|
|
|
Depois de adicionar todos os arquivos que deseja salvar, execute o commando de commit com uma mensagem curta que represente o que foi trabalhado nesses arquivos adicionados:
|
|
|
|
|
|
```
|
|
|
git commit -m 'descrição da tarefa'
|
|
|
```
|
|
|
|
|
|
Não hesite em realizar vários commits, assim podemos ter documentado e salvo vários estados do desenvolvimento.
|
|
|
|
|
|
#### Salvando Remotamente
|
|
|
|
|
|
Depois de finalizar o desenvolvimento, envie todos os commits da sua máquina para o servidor remoto. Para isso depois de realizar as etapas de salvamento local, salve remotamente com o comando `push`:
|
|
|
|
|
|
```
|
|
|
git push
|
|
|
```
|
|
|
|
|
|
### Merge Requests
|
|
|
|
|
|
Depois de uma task 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 desenvolvimento. Para isso é necessário abrir um Merge Request pela platafora GitLab:
|
|
|
|
|
|
#### Criando o Merge Request
|
|
|
|
|
|
A criação pode ser realizada na seção Merge Requests do repositório em que a branch foi criada. Clicando no botão `New Merge Request` siga os seguintes passos:
|
|
|
|
|
|
1. Selecionar a branch de origem (sua branch de desenvolvimento);
|
|
|
2. Selecionar a branch de destino (branch dev);
|
|
|
3. Selecione `Compare branches and continue`
|
|
|
4. Em `Title`, escreva um título que descreva a funcionalidade adicionada ou bug corrigido;
|
|
|
5. Em `Description`, escreva uma descrição com uma breve justificativa nos arquivos que foram alterados;
|
|
|
6. Caso a tarefa seja visual (criação de componente/tela, correção de bug) adicione um gif exemplificando o uso (se considerar necessário);
|
|
|
7. Na seção `Assignee`, selecione `Assign to me` para que fique registrado quem foi o responsável pelo desenvolvimento daquela tarefa (a pessoa selecionada será chamada caso o revisor tenha dúvidas sobre a tarefa);
|
|
|
8. Revise se os arquivos que estão sendo enviados estão corretos e clique em `Submit Merge Request`.
|
|
|
9. Garanta que o Merge automático seja possível.
|
|
|
|
|
|
#### Revisando o Merge Request
|
|
|
|
|
|
A revisão de merge request pode ser realizada por qualquer desenvolvedor, mas é preciso da aprovação de pelo menos um AGES III ou AGES IV para que a mesma seja incorporada na dev.
|
|
|
|
|
|
Na hora de revisar o Merge Request, entre na branch em sua máquina e teste a funcionalidade/bug/componente/tela de acordo com os critérios de aceitação apresentados no [Azure](https://dev.azure.com/arthurkunzler/Bite%20Alegre%20-%20BA/_sprints/taskboard/Bite%20Alegre%20-%20BA%20Team/Bite%20Alegre%20-%20BA/Iteration%201).
|
|
|
|
|
|
Caso haja pendências, relacionadas a documentação do código, padronização ou arquivos enviados, não exite em realizar um novo commit na branch com as mudanças necessárias antes de realizar a integração. |