Use o VSTS para builds de CI do GitLab
Mais um post na interminável série “perguntas legais no Slack da Lambda3”:
@here é possível integrar o gitlab com o VSTS?
e usar os mesmos esquemas de build triggers e tals?
Sim, dá. Veja como.
Apesar de o GitLab não oferecer nenhum suporte nativo ao VSTS - e vice-versa - dá para configurar um build de CI assim mesmo.
O “truque” aqui reside no fato de que o VSTS permite fazer build de integração contínua de qualquer repositório Git remoto, mesmo sem uma integração nativa.
“Ué”, você pode perguntar, “então para quê precisamos de uma integração nativa?”.
Simples: Conveniência.
Provedores de código no VSTS
Atualmente, o VSTS oferece suporte nativo a três provedores de código: O próprio VSTS, GitHub e Bitbucket.
Usar um dos provedores nativos (VSTS, GitHub, Bitbucket) é mais conveniente porque:
- O processo de conexão é simplificado;
- Eles suportam triggers de CI, notificando o VSTS sempre que um commit ocorre para podermos ter um build de integração contínua disparado automaticamente.
Além dos três, há outros dois provedores genéricos - um para Git, outro para Subversion. Por serem genéricos, eles têm suas limitações:
- Não temos um processo de conexão simplificado (sem OAuth ou algo parecido); e
- Não temos notificações de commit e, portanto, nada de triggers de CI.
“Ué, sem trigger de CI? Então como faz?”
Simples de novo: Polling.
Configurando um build de CI para o GitLab
Para começar a configuração de um build de CI para o GitLab, crie uma nova definição de build e adicione uma conexão ao GitLab:
Ao clicar em Add connection, preencha os dados da sua conexão:
Com isso, já é possível ter builds manuais e agendados. Falta apenas a configuração necessária para que esse build possa ser também de integração contínua.
Na seção Triggers, faça a configuração para ativar a integração contínua. O que vai acontecer é que, a cada X segundos, o VSTS irá conectar-se ao repositório remoto (neste nosso exemplo, o do GitLab) e verificar se houve alguma mudança desde o último build. Se sim, ele dispara um build automaticamente.
O intervalo-padrão é de três minutos (180s). Ajuste esse valor de acordo com sua necessidade. Cuidado apenas para não colocar um intervalo muito pequeno para não onerar sua infraestrutura.
Mas para quê tudo isso? O GitLab já tem build automatizado próprio!
Brincadeiras à parte, vejo algumas possibilidade para alguém querer usar o build do VSTS ao invés do nativo do GitLab:
- Tirar proveito do editor visual do VSTS (ao invés de usar arquivos YAML);
- Usar as tasks disponíveis para simplificar processos complexos de build e/ou release;
- Usar o Release Management do VSTS.
Conclusão
E você, já precisou fazer builds de CI para repositórios Git fora do VSTS? Já tinha pensado em usar o build do VSTS com código externo?
Deixe seu comentário!
Um abraço,
Igor
22/08/2017 | Por Igor Abade V. Leite | Em Técnico | Tempo de leitura: 3 mins.