Como configurar Gerrit e GitLab para trabalharem juntos

Publicado por Ricardo Rodrigues Lucca em 30/03/2017

[ Hits: 3.024 ]

Blog: http://aventurasdeumdevop.blogspot.com.br/

 


Como configurar Gerrit e GitLab para trabalharem juntos



Hoje vou falar um pouco sob como configurar o GitLab e o Gerrit para ambos trabalharem juntos.

Primeiro, o que é Gerrit e o que é o GitLab? Gerrit é uma ferramenta open source para revisão de código e ele cuida do seu repositório git. Ele possui alguns plugins que permitem adicionar outras funcionalidades como um visualizador do repositório (por padrão é o GitWeb, mas é possível alterar para o Gitiles). O GitLab por sua vez permite gerenciar os repositórios git e realizar algum grau limitado de revisão. Ambas as ferramentas cuidam de seus repositórios gits e os protegem de interação externa.

Então como configurar o Gerrit e GitLab para trabalharem juntos? A resposta curta é eles não trabalham.

Vamos ver uma forma de interação possível. A que parece mais interessante é a de colocar um plugin chamado Replication no Gerrit e direcionar os repositórios que estão no mesmo para serem replicados no GitLab. Para fazer isso é necessário um usuário no GitLab com chave cadastrada no Gerrit. Além disso, o repositório sendo replicado pelo Gerrit precisa existir no GitLab para a replicação ser bem sucedida. Dessa forma de configuração, o GitLab fica como um backup do Gerrit e serve unicamente para visualizar os commits em um jeito mais bonito. Todas as interações ainda precisam ocorrer no Gerrit.

Continuando a configuração, é possível criar um webhook sempre que um merge-request (MR) é atualizado ou (re)aberto. Com isso é possível fazer com que um script externo clone esse merge-request e envie-o para Gerrit por meio de umas de suas anotações (refs/for) no push. Quando isso é feito alterar o merge-request, faz com que uma modificação seja criada no Gerrit. Quando essa é fechada e mergeada por uma revisão no Gerrit, o mesmo envia pelo plugin de replicação para o GitLab e o Issues/MR criado no GitLab é considerado encerrado.

Por fim, para o MR poder ser encerrado no GitLab é possível fazer com que ele replique as informações para o Gerrit. Sendo assim, meu primeiro pensamento foi que as maquinas ficariam em 100% de cpu, mas eu não vi isso acontecer. O que eu vi é que algumas vezes o Gerrit não parece ser tão bom quanto o GitLab para considerar a revisão como fechada. Mesmo quando esta ativado, a opção de ser obrigatório o Change-Id.

Isso é tudo pessoal!

Outras dicas deste autor

Verificar conversão de tipo em C/C++

Definir senha em branco

Achando comandos no console com "!" e "?"

XMMS - Colocando ordem no random

Evitando a criação dos arquivos CORE

Leitura recomendada

Instalando o Dolphin e deixando-o "pretinho" acompanhando o tema escuro do Gnome-Shell

Deixando o SU colorido no Slackware

Ativando interface loopback no Ubuntu 7.10

Alterando o prompt do terminal (bash) no Slackware 12.1

Configurando redes virtuais no Debian

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts