Skip to content

Padrões e Convenções

Igor dos Santos edited this page Jan 15, 2025 · 5 revisions

Controle de Versão

Padrões de git

Refere-se às práticas recomendadas relacionadas ao uso geral do Git, que incluem a forma de interagir com o repositório (commits, pull requests, merges, etc.)

Foco: Garantir uma interação eficiente, organizada e colaborativa com o repositório.

  • Mensagens de commits bem estruturas. Exemplo Conventional Commits.
  • Commits pequenos e frequentes para facilitar o rastreamento de mudanças.
  • Uso adequado de comandos. Exemplo: rebase vs. merge, uso de stash, etc.
  • Workflow de Pull Requests. Padrões para revisão, aprovação e merge.
  • Todos os commits devem começar com um prefixo descritivo, como fix, feat ou refactor.

Padrões de branching

Refere-se às práticas para organizar e nomear branches no repositório Git. É sobre como estruturar o fluxo de trabalho das branches.

Foco: Gerenciar o desenvolvimento colaborativo e facilitar a integração de código.

  • Estrutura de branches principais: main, hotfix, feature e release
  • Padrões de nomenclatura. Exemplo: feature/nome-da-feature, hotfix/id-do-bug
  • Fluxos de trabalho para integração: GitHub Flow

Deployment

Docker e Docker Compose

  • Docker é utilizado para criar imagens que facilitam a publicação da aplicação na infraestrutura.
  • Docker Compose é utilizado para simular o ambiente / stack necessário para sua aplicação localmente.
  • Dentro do repositório nossas/devops, um outro arquivo docker compose será utilizado para definir o stack de serviços junto a sua aplicação.

Portainer

  • Interface gráfica para facilitar o gerenciamento de Docker Containers entre hosts / instâncias.

Terraform

  • Gerenciar e documentar a infraestrutura de hosts como código.
  • Sempre que houver necessidade de manutenção na infraestrutura isso deve ser refletido no código.

Contribuição

  • Nomeação de Branches
  • Pull Request (Padrões e Definições, Semantic Pull Requests)
  • Automação com GitHub Actions (Testes, Lint, Commitlint, etc.)
  • Revisão (Envolvidos) e Aprovação do Pull Request
  • Merge do Pull Request