Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • F Ficai-4.0 Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • FICAI 4.0
  • Ficai-4.0 Wiki
  • Wiki
  • arquitetura

arquitetura · Changes

Page history
revisão e atualizaçao do gitflow authored Aug 15, 2022 by Eduardo Andre Soares's avatar Eduardo Andre Soares
Show whitespace changes
Inline Side-by-side
arquitetura.md
View page @ 19422241
...@@ -126,24 +126,24 @@ Nas sessões abaixo será ensinado a instalação Git em sua máquina de acordo ...@@ -126,24 +126,24 @@ Nas sessões abaixo será ensinado a instalação Git em sua máquina de acordo
#### Download #### Download
Faça o download e instale o Git a partir deste link, selecionando seu sistema operacional: [aqui](https://git-scm.com/downloads). Faça o download e instale o Git a partir deste [link](https://git-scm.com/downloads), selecionando seu sistema operacional.
Ao final da instalação, abra o Git Bash (caso esteja usando Windows) ou um terminal e digite `git –version`. Ao retornar a versão do Git, significa que a instalação foi bem sucedida. Ao final da instalação, abra o Git Bash (caso esteja usando Windows) ou um terminal, e digite `git –version`. Ao retornar a versão do Git, significa que a instalação foi bem sucedida.
> Usuários de Linux e Mac já possuem o Git nativamente. Para verificar, abra um terminal e digite `git –version`. Caso retorne a versão do Git, significa que o mesmo está devidamente instalado em sua máquina. > **Nota:** Usuários de Linux e Mac já possuem o Git nativamente. Para verificar, abra um terminal e digite `git –version`. Caso retorne a versão do Git, significa que o mesmo está devidamente instalado em sua máquina.
**Configuração Git e GitLab** ### Configuração Git e GitLab
Abaixo será ensinado algumas configurações iniciais do Git, bem como o vínculo do seu ambiente local com o GitLab via SSH. Abaixo será ensinado algumas configurações iniciais do Git, bem como o vínculo do seu ambiente local com o GitLab via SSH.
**Configurações Iniciais** #### Configurações Iniciais**
Caso esteja utilizando o Git pela primeira vez, rode os comandos abaixo para configurar, respectivamente, seu nome e seu email. Substitua os valores entre aspas pelos seus dados. Caso esteja utilizando o Git pela primeira vez, rode os comandos abaixo para configurar, respectivamente, seu nome e seu email. Substitua os valores entre aspas pelos seus dados.
- git config --global user.name "${YOUR_FULL_NAME}" - git config --global user.name "${YOUR_FULL_NAME}"
- git config --global user.email "${YOUR_EMAIL}" - git config --global user.email "${YOUR_EMAIL}"
**Configurando uma chave SSH** <!-- **Configurando uma chave SSH**
**Passo 1: Gerando a chave SSH** **Passo 1: Gerando a chave SSH**
...@@ -170,48 +170,47 @@ Entre na sua conta do GitLab e navegue em Preferences > SSH Keys; ...@@ -170,48 +170,47 @@ Entre na sua conta do GitLab e navegue em Preferences > SSH Keys;
Cole o conteúdo copiado do arquivo id_rsa.pub e atribua um título a chave; Cole o conteúdo copiado do arquivo id_rsa.pub e atribua um título a chave;
Clique em Add Key para salvá-la. Clique em Add Key para salvá-la.
**Nota**: Não é obrigatório atribuir uma data de expiração para a chave. **Nota**: Não é obrigatório atribuir uma data de expiração para a chave. -->
### Git Branching Model ### Git Branching Model
Utilizaremos o [modelo de gestão de branches tradicional](https://nvie.com/posts/a-successful-git-branching-model/), realizando algumas adaptações. As alterações que faremos são: Utilizaremos o [modelo de gestão de branches tradicional](https://nvie.com/posts/a-successful-git-branching-model/), realizando algumas adaptações baseadas no Trunked Based Development. As alterações que faremos são:
- Não utilização de branches no modelo `hotfix/*`, visto que na AGES não há situações onde um ajuste do produto entregue será integrado antes do final da sprint corrente; - Não utilizaremos branches de `hotfix/*`, visto que na AGES não há situações onde um ajuste do produto entregue será integrado antes do final da sprint corrente;
- Integração da branch de `release/*` com a branch de `develop/*`, com o propósito de unificar suas funcionalidades; - Integração da branch de `release/*` com a branch de `develop/*`, com o propósito de unificar suas funcionalidades;
- Substituição da branch de `feature` por um modelo voltado a tarefa, reduzindo seu ciclo de vida e seu número de commits. Esta branch será deletada após o merge.
O desenvolvimento nos repositórios _frontend_ e _backend_ **deverá** seguir o fluxo descrito abaixo: O desenvolvimento nos repositórios _frontend_ e _backend_ **deverá** seguir o fluxo descrito abaixo:
* uma branch `master` com o código atualmente em produção; - Uma branch `master` com o código atualmente em produção;
* uma branch `develop` com o código em desenvolvimento, com funcionalidades finalizadas mas ainda em fase de testes para validação; - Uma branch `develop` com o código em desenvolvimento, com funcionalidades finalizadas mas ainda em fase de testes para validação. Esta sempre será a branch mais atualizada;
* feature branches para tasks relacionadas às user stories a serem desenvolvidas. Uma branch de task deve ser nomeada com o número único da task, seguida da breve descrição da task (por exemplo, `feature/t01-login` ou `feature/t05-dropdown-list-login`); *feature branches para tasks relacionadas às user stories a serem desenvolvidas. Uma branch de task deve ser nomeada com o número único da task, seguida da breve descrição da task (por exemplo, `feature/t01-login` ou `feature/t05-dropdown-list-login`);
* quando uma feature é finalizada, um PR da branch `feature/` relacionada é aberto com destino à branch `develop`. - Quando uma feature é finalizada, um PR da branch `feature/` relacionada é aberto com destino à branch `develop`.
O código da `develop` é integrado com a `master` ao final da sprint, após validação dos stakeholders do que foi desenvolvido. O código da `develop` é integrado com a `master` ao final da sprint, após validação dos stakeholders do que foi desenvolvido.
Dessa forma, o fluxo usual de trabalho é o seguinte: Dessa forma, o fluxo usual de trabalho é o seguinte:
1. antes de iniciar o desenvolvimento de uma task, fazer checkout para a branch `develop` e pegar as últimas atualizações (`pull`); 1. Antes de iniciar o desenvolvimento de uma task, fazer checkout para a branch `develop` e pegar as últimas atualizações (`pull`);
1. criar uma branch para a task com o ID da task (`feature/tXX-YYYYY`); 1. Criar uma branch para a task com o ID da task (`feature/tXX-YYYYY`);
1. "enviar" a branch para o remoto (`git push -u origin feature/tXX-YYYYY`); 1. "Enviar" a branch para o remoto (`git push -u origin feature/tXX-YYYYY`);
1. desenvolver, commitar mudanças e atualizar o remoto (`push`); 1. Desenvolver, commitar mudanças e atualizar o remoto (`push`);
1. voltar para o item **4** até finalizar a task; 1. Voltar para o item **4** até finalizar a task;
1. abrir um PR com destino à branch `develop`; 1. Abrir um PR com destino à branch `develop`;
1. mover o card da task no Trello para a lista *Code Review* e avisar no Discord (canal #code-review) que a task está pronta para review; 1. Mover o card da task no Trello para a lista _Code Review_ e avisar no Discord (canal #code-review) que a task está pronta para review;
1. fim! :smile_cat:
### Padrões de Commit ### Padrões de Commit
Quando realizar um commit, tente manter o seguinte padrão nas mensagens: Quando realizar um commit, tente manter o seguinte padrão nas mensagens:
* título: número da task e breve descrição da mudança; - Título: número da task e breve descrição da mudança.;
* se preciso, adicione um descrição mais longa da mudança, do porquê ela se faz necessária ou do porquê foi feito dessa forma; essa descrição longa deve estar separada do título por uma linha em branco; - Se preciso, adicione um descrição mais longa da mudança, do porquê ela se faz necessária ou do porquê foi feito dessa forma; essa descrição longa deve estar separada do título por uma linha em branco;
* se mais de uma pessoa participou das mudanças do commit: indique a co-autoria conforme exemplo abaixo, também separada por uma linha em branco da descrição longa (o Git precisa de um formato bem específico nessa parte, com uma pessoa por linha; não é preciso adicionar uma linha para a pessoa que está fazendo o commit, porque o Git já pega isso automaticamente). - Se mais de uma pessoa participou das mudanças do commit: indique a co-autoria conforme exemplo abaixo, também separada por uma linha em branco da descrição longa (o Git precisa de um formato bem específico nessa parte, com uma pessoa por linha; não é preciso adicionar uma linha para a pessoa que está fazendo o commit, porque o Git já pega isso automaticamente).
Exemplo: Exemplo de mensagem de commit e descrição:
``` ```
#01: Tela de login #01: Desenvolvimento da tela de login
Criada tela de login e definida rotas, a construção do componente de seleção do perfil não faz parte dessa task. Criada tela de login e definida rotas, a construção do componente de seleção do perfil não faz parte dessa task.
...@@ -220,18 +219,62 @@ Co-authored-by: Marcos Silva <[email protected]> ...@@ -220,18 +219,62 @@ Co-authored-by: Marcos Silva <[email protected]>
### Code Review ### Code Review
Após o desenvolvimento de uma task, um *pull/merge request* (PR) deve ser aberto com destino à branch *develop* do repositório relativo à task: *app* ou *api*. Todos os PRs são revisados por pelo menos dois AGES III, que se responsabilizam por garantir a qualidade do que foi desenvolvido e que os artefatos e estruturas se adequem aos padrões definidos neste documento. Após o desenvolvimento de uma task, um _pull/merge request_ (PR) deve ser aberto com destino à branch _develop_ do repositório relativo à task. Todos os PRs são revisados por pelo menos dois AGES III, que se responsabilizam por garantir a qualidade do que foi desenvolvido e que os artefatos e estruturas se adequem aos padrões definidos neste documento.
Os AGES III se comprometem a revisar os PRs o mais rápido possível, garantindo que PRs abertos até dois dias antes de uma entrega serão integrados (se cumprirem todas as regras do code review). Os AGES III se comprometem a revisar os PRs o mais rápido possível, garantindo que PRs abertos até dois dias antes de uma entrega serão integrados (se cumprirem todas as regras do code review).
Foram definidas algumas regras usadas durante o processo de code review dos PRs abertos nos repositórios: ### Hands On
Esta seção é dedicada ao teste da configuração do seu ambiente, bem como a prática do Gitflow do projeto. O _hands on_ consiste em atualizar o README do repositório da Wiki com o seu nome e seu nível AGES, além de, ao final, submeter seu primeiro Pull Request.
#### Passo 1: Clonar o repositório da Wiki
Efetue o clone do repositorio da Wiki via HTTPS e abra o projeto com um editor de texto. Link: https://tools.ages.pucrs.br/ficai-4.0/ficai-4.0-wiki
#### Passo 2: Criando uma branch nova
A partir da branch main, crie uma nova branch seguindo o comando abaixo:
```sh
git checkout -b seuPrimeiroNome-handson
```
#### Passo 3: Editando o README.md
Abra o arquivo README.md e atualize a tabela de membros com seu nome e seu nível AGES.
#### Passo 4: Commit em suas mudanças
Efetue o commit das suas mudanças rodando os comandos abaixo
```sh
git add .
git commit -m “Add my name to the table”
```
#### Passo 5: Submetendo um pull request
Após efetuar o commit, rode o comando abaixo para enviar suas modificações para o repositório remoto:
```sh
git push origin seuPrimeiroNome-handson
```
> **Nota:** Provavelmente, ao efetuar o push, o GitLab irá requisitar suas credenciais.
Após efetuar, vá no painel do GitLab, procure pelo repositório Ficai-4.0 Wiki e, no menu lateral procure por Merge Request. Na opção “Select source branch” selecione a branch que você criou e clique em “Compare branches and continue”.
Dentro do merge request, mantenha as informações padrão, porém, na opção Reviewer, marque um dos AGES III para fazer a revisão. Após isso, clique em “Create merge request” e aguarde a aprovação.
Com este fluxo completo e bem sucedido, significa que seu ambiente está devidamente configurado para utilizar os repositórios do FICAI 4.0.
* *app*: <!-- Foram definidas algumas regras usadas durante o processo de code review dos PRs abertos nos repositórios:
* *api*: - _app_:
- _api_:
Essas regras foram adicionadas como template de PR em cada projeto. Essas regras foram adicionadas como template de PR em cada projeto. -->
## Arquitetura Geral da Aplicação ## Arquitetura Geral da Aplicação
......
Clone repository
  • Gerência
  • Instalação
  • Retro
  • Utilizando a wiki
    • adicionando imagens
    • escrevendo em markdown
    • wiki no editor de texto
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • design_mockups
  • escopo
  • estudos
  • gerencia
  • Home
View All Pages