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
- Criação de uma nova branch. Uma nova branch é criada a partir da branch principal
masterpara o desenvolvimento de uma nova funcionalidade. O nome da branch deve ser informativo, por exemplo,feature/nome-da-nova-funcao. - 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.
- Testes locais. O desenvolvedor executa localmente a aplicação com a nova funcionalidade para verificar seu funcionamento.
- 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. - 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.
- Correções após revisão. O desenvolvedor faz as alterações necessárias em sua branch com base nos comentários.
- 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).
- 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).
- 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. - 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. - 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.