A resposta aceita para " Quais são as possíveis implementações (ou exemplos) do princípio dos quatro olhos? " Sugere que o modelo Pull Request do GitHub é uma possível implementação.
E minha própria resposta para " Como implementar o princípio dos quatro olhos para correções de emergência? " Explica o conceito de pós-aprovações .
Minha pergunta : O modelo Pull Request do GitHub também pode ser usado para implementar aprovações pós? Se sim: como? Caso contrário, há mais alguma coisa no Git (GitHub?) Que eu poderia usar para isso?
git
configuration
four-eyes
Pierre.Vriens
fonte
fonte
Respostas:
Sim, acredito que sim. Para explicar que preciso estabelecer algumas bases para implementar algo semelhante, simplifiquei o modelo na tentativa de torná-lo o mais claro possível.
Premissas
Estou assumindo aqui que Jenkins, TeamCity ou similar está sendo usado como a ferramenta de CI / CD de sua escolha. Além disso, o GitHub está sendo usado e existe uma estrutura de ramificação bem definida e adequadamente controlada :
Configuração
Neste exemplo, o GitHub está configurado da seguinte maneira:
As ferramentas de CI / CD estão configuradas da seguinte maneira:
Notas
O Mestre está protegido, pois representa o estado atual da produção. Para fazer isso praticamente, você pode ter outra ramificação "Release" da qual as implantações são feitas e somente quando a fusão for bem-sucedida na ramificação Master.
Pontos chave
O ramo de desenvolvimento azul é basicamente um tudo para todos. O hotfix é um tipo gratuito, mas todas as implantações acionam um tipo de Break Glass notificando uma função de não desenvolvimento que executará a pós-aprovação e, no processo, mesclará a alteração no Master.
É essencial mesclar na parada Master enquanto o Hotfix está à frente do Master para:
Em algumas organizações, pode ajudar a impedir todos os envios para o repositório central do GitHub enquanto um Hotfix está pendente de pós-aprovação.
fonte