Oi pessoal, tudo bem? Estou tentando fechar um entendimento a respeito dos processos envolvidos para alcançarmos a entrega contínua, porém estou com dúvida a respeito de três situações, poderiam me ajudar neste entendimento?
Primeira situação:
Desenvolvedor está na sua máquina local e realiza um commit, então deve-se rodar todos os testes unitários e por fim deve-se tentar executar um build (tudo isso na máquina do desenvolvedor). Terminado este processo, o desenvolvedor continua programando a sua task até um novo commit, onde novamente dispare-se o ciclo.
Me preocupa esta situação, pois caso este processo seja lento, o desenvolvedor perderá produtividade ao ter que esperar um feedback.
Segunda situação:
Desenvolvedor acabou a sua tarefa e vai realizar um pull request (PR). Após realizar o PR devemos rodar na nuvem os testes automatizados de unidade, depois os de integração e por fim tentar buildar o projeto. Esse processo seria pré requisito para aceitação do PR.
Terceira situação:
Dado que estamos usando o modelo de GIT FLOW, quando um merge for realizado na develop então deve-se executar os testes e depois tentar o build, caso ocorra alguma falha, todo o time deve se responsabilizar para entender o motivo e corrigí-lo.
Galera, essas situações estão corretas?
Obrigado