Fluxo de trabalho do Gitlab, forçando a revisão de código ou a solicitação de mesclagem na ramificação

18

Estou trabalhando para implementar o Gitlab na minha empresa com uma estratégia de fluxo de trabalho. Minha ideia é que os desenvolvedores tenham acesso aos repositórios, mas, sempre que tentarem confirmar, seu código deverá ser revisado.

Eu sei que posso fazê-los criar uma ramificação antes de confirmar e, em seguida, criar uma solicitação de mesclagem depois que ela é enviada para o repositório. Ainda não estou claro sobre certas coisas ... A idéia de que confiamos nas pessoas para criar uma ramificação e, em seguida, uma solicitação de mesclagem parece defeituosa, existe uma solução que força algum tipo de política que a ramificação mestre pode manter-se limpa, a menos que " admin "aprova o código que está prestes a mesclar nele. Eu li o "fluxo de trabalho da equipe do github", mas ele não parece oferecer uma solução viável. Qualquer conselho sobre o processo ou suas próprias práticas recomendadas é apreciado. Obrigado!

Mike
fonte
1
"The idea that we rely on people to create a branch and then a merge request seems faulty"Parece-me que você tem um problema maior do que a falta de recursos em um sistema de controle de versão. Se é apenas uma questão de gastar o tempo extra criando uma filial, dê uma olhada no Atlassian Stash e sua integração com o Jira.
toniedzwiedz
5
Graças Tom, a minha ideia é através da aplicação de uma política padrão, estou eliminando espaço para erro
Mike
2
Considere esta entrada de blog de gitlabhq about.gitlab.com/2014/09/29/gitlab-flow
spuder
1
Por favor, preste atenção a este: Google I / O 2009 - O mito do gênio programador
borisdiakur
Você poderia tê-los usar seus próprios garfos ....
Wildcard

Respostas:

14

Comecei a trabalhar com o gitlab, lendo a seção HELP fornece um layout de fluxo de trabalho. Neste ponto, essa parece ser a melhor solução para minha pergunta. Se alguém tiver experiência com esse fluxo de trabalho ou conselho, adicione outras informações.

Na seção AJUDA:

Fluxo de trabalho

  1. Projeto clone
    git clone [email protected]:project-name.git
  2. Crie ramificação com seu recurso
    git checkout -b $feature_name
  3. Escreva código. Confirmar alterações
    git commit -am "My feature is ready"
  4. Envie sua filial para o GitLab
    git push origin $feature_name
  5. Revise seu código na página de confirmações
  6. Crie uma solicitação de mesclagem
  7. O líder da sua equipe revisará o código e o mesclará à ramificação principal

Na seção de confirmações do seu repositório, você pode proteger as ramificações, o que força os desenvolvedores a seguir o processo acima, criando uma ramificação e enviando uma solicitação de mesclagem.

Captura de tela - Protegendo um ramo

Mike
fonte
2
Existe alguma maneira de impor esse fluxo de trabalho (por exemplo, usando ramificação protegida), mas permitir que qualquer responsável (não apenas o líder da equipe com privilégios de mestre / administrador) mescle a solicitação?
Adam
Eu apenas tentei atribuir uma solicitação de mesclagem a alguém sem privilégios de mestre e elas recebem a seguinte mensagem na solicitação de mesclagem: Isso não pode ser mesclado automaticamente, mesmo que possa ser mesclado, você não tem permissão para fazer isso. Então, não parece que eles seriam capazes.
Mike
Obrigado. Vou tentar o Review Board, o Phabricator ou o Gerrit. Você tem alguma experiência com algum deles?
Adam
Não, desculpe, eu não tentei nenhum desses serviços. Poste uma resposta se tiver êxito.
1755 Mike
Claro, a menos que eu esqueça. BTW, eu adicionei Barkeep à minha lista :)
Adam