Skip to content

Boas Práticas

Isabel Pires Meister edited this page Feb 10, 2025 · 5 revisions

Boas Práticas

Seguindo o modelo de três branches principais usadas aqui na BD - Main (Produção), Staging e Development (Dev) - o modelo de utilização de branches será baseado no Git Flow, mantendo essas três como fixas do repositório do backend. Considera-se uma boa prática pois usa-se a branch de Dev para testar novas funcionalidades e correções que forem necessárias. A branch de Staging permanece como a réplica de produção, onde também servirá para debbug de forma mais assertiva de possíveis erros que ocorrerem em produção. E temos a branch Main que é Produção, onde para alguma alteração subir para Prod, deve-se passar pelo fluxo: Dev -> Staging -> Prod.

Segue o fluxo:

  1. Dentro do seu repositório local entre na branch main: git checkout main
  2. Atualize a branch main local com a origem: git pull origin main
  3. Após estar atualizado, crie uma nova branch: git checkout -b [tipo da branch]/nome-da-branch
    O tipo da branch pode ser: Feat, Fix, Chore, Doc ou Test
    O nome da sua branch deve seguir lowerCase e com - para separação de palavras.
  4. Faça as alterações de código necessárias, adicione as alterações na sua branch com git add e depois utilize padrões de commit na mensagem do git commit -m "mensagem-de-commit"
  5. Realize o Push para sua branch no github: git push -u origin [tipo da branch]/nome-da-branch

Seguindo com sua branch no GitHub:

  1. Abra o PR da sua branch apontando para o ambiente de Dev e então realize as validações e testes necessários.
  2. Abra um novo PR da sua branch apontando para Staging e então realize as validações e testes novamente (Agora estará sendo testado já simulando o ambiente de Produção, visto que Staging é uma réplica da Main)
  3. Abra um novo PR da sua branch apontando para Main. Aqui será necessário Code Review e também passar na pipeline de validações do PR (Python Lint, Pull Request Lint e etc.) e então poderá ser mergado para Main (Prod).

No nosso contexto se refere ao uso das ferramentas de pre-commit e github actions para garantir que o código mergeado tenha sempre o mesmo padrão, seja funcional ou estético. Para esse fim se recomenda instalar o projeto via poetry incluindo as dependências de desenvolvimento, e em seguida instalar os pre-commit hooks via código abaixo:

poetry install --with=dev && pre-commit install

Uma vez instalados esses hooks irão executar sempre que um commit for realizado. Atualmente alguns repositórios contam com fluxos que executam testes e checam a formatação de arquivos python, sql e yaml. É recomendado que um pull request seja mergeado apenas após todas as validações tenham finalizado com sucesso.

Clone this wiki locally