Sobes.tech
Junior

Temos o ramo principal (master), e foi recebida uma solicitação de um desenvolvedor para implementar uma nova funcionalidade. Quais ações você tomará a seguir?

sobes.tech IA

Resposta da IA

  1. Criação de uma nova branch. Uma nova branch é criada a partir da branch principal master para o desenvolvimento de uma nova funcionalidade. O nome da branch deve ser informativo, por exemplo, feature/nome-da-nova-funcao.
  2. Desenvolvimento e testes. O desenvolvedor escreve código na nova branch, registrando alterações regularmente (commits). São realizados testes unitários e de integração.
  3. Testes locais. O desenvolvedor executa localmente a aplicação com a nova funcionalidade para verificar seu funcionamento.
  4. Criação de Merge Request (ou Pull Request). Após concluir o trabalho e passar nos testes locais, o desenvolvedor cria um MR/PR de sua branch para master.
  5. Revisão de código. Outros membros da equipe revisam o código no MR/PR. Deixam comentários, propõem melhorias ou correções.
  6. Correções após revisão. O desenvolvedor faz as alterações necessárias em sua branch com base nos comentários.
  7. Pipeline CI/CD. Um pipeline automatizado de CI/CD é executado a cada commit na branch MR/PR. O pipeline inclui:
    • Build do projeto.
    • Execução de testes Unitários/Integrados.
    • Análise estática do código (linters, SAST).
    • Escaneamento de vulnerabilidades (SAST, SCA).
    • Construção da imagem Docker (se aplicável).
    • Implantação em ambiente de teste (se disponível).
  8. Testes de aceitação. Após passar com sucesso todas as etapas do pipeline e a revisão de código, realiza-se o teste de aceitação da funcionalidade em ambiente de teste/staging (possivelmente manualmente pelo Product Owner/QA).
  9. Fusão da branch. Se todos os testes forem bem-sucedidos, a revisão de código for aprovada e o teste de aceitação passar, a branch com a nova funcionalidade é fundida na master. Geralmente, usam-se estratégias de fusão "Squash and Merge" ou "Rebase and Merge" para uma história de commits mais limpa.
  10. Implantação em Produção. Após a fusão na master, um pipeline é iniciado para implantar a versão atualizada em produção. Isso pode incluir testes adicionais (por exemplo, E2E) e etapas de aprovação.
  11. Monitoramento. Após a implantação bem-sucedida, realiza-se o monitoramento do funcionamento da nova funcionalidade em produção para identificar possíveis problemas.