Jenkins Gitlab Django


Instale o Jenkins de acordo com o seu sistema operacional

O Jenkins é uma aplicação web JAVA autocontida, que utiliza o servlet container/HTTP server Jetty.

O Jenkins roda como serviço, o que significa que uma vez instalado, basta você rodar o comando de acordo com o seu sistema operacional que o mesmo sobe tudo o que for necessário e fornece uma interface web para ser acessada via browser.

Uma vez que o Jenkins está instalado e inicializado corretamente, basta acessar a página de adminstração do Jenkins na porta que você subiu a aplicação. A interface abaixo é uma tela da versão 2.7.4, que requer o Java jdk 1.7.





Gitlab plugin

Este plugin permite que o Jenkins faça os builds automaticamente quando houver um push ou merge de código no Gitlab.

Instalar

O mesmo deve ser instalado, pois não vem instalado por padrão no Jenkins. Para instalar plugins, clique no item de menu “Jenkins” > “Gerenciar Jenkins” > “Gerenciar Plugins”, conforme a figura abaixo.



Certifique-se também que o Git Plugin está instalado.

Usuário Gitlab

Crie um usuário no Gitlab para ser utilizado no Jenkins. Você pode utililizar um usuário já criado, mas por uma questão de divisão de responsabilidades vamos criar um novo usuário para essa tarefa.

Integração Jenkins - Gitlab

Para fazer a integração entre o Jenkins e o Gitlab, siga as instruções abaixo do próprio Gitblab:
https://docs.gitlab.com/ee/integration/jenkins.html

Token API

Existe uma questão pouco documentada em relação ao cadastramento do token do Gitlab no Jenkins. Existem várias maneiras de fazer o login no Gitlab, porém a recomendada no link acima do Gitlab é a mais simples, porque não faz necessário o preenchimento de senhas, chave privada etc.

Para cadastrar o Token do Gitlab no Jenkins, siga os passos abaixo:

Verifique no Gitlab o Token a ser copiado, em Profile Settings -> Account

No Jenkins, entre no menu principal Jenkins -> Credentials -> System -> Global credentials -> Add credentials



Selecione Gitlab API token e cole o Token copiado do GitLab


Agora siga o menu Jenkins -> Gerenciar Jenkins -> Configurar o sistema
Se os plugins necessários foram instalados corretamente, e o Token do Gitlab foi configurado corretamente, desça até a sessão Gitlab e a sua tela deve ficar parecida com:



Preencha os dados corretamente, selecion GitLab API token e faça um teste de conexão para se certificar que o Jenkins está se conectando com o GitLab.




Teste de build

Ainda é necessário configurar as credenciais para o usuário que irá fazer os builds no Jenkins.

Adicione as credencias do GitLab seguindo os passos indicados nas duas imagens abaixo:

Logue com o usuário que irá fazer os bulids e clique no menu superior direito sobre o nome do usuário. Seleciona a opção “Credentials”



Adicione a credendicial do GitLab para o referido usuário clicando na opção abaixo:

Chaves ssh GitLab

Para acessar o GitLab é necessário criar o par de chaves publico/privada.

Basta fazer uma busca no Google que aparecem vários howto:

setup ssh keys linux

Após gerar a chave, é necessário copiar a chave para o GitLab.

Lembre-se, a chave deve ser criada para o usuário que vai executar o Jenkins, é sob esse usuário que serão efetuadas todas as operações de clone, build, testes do Selenium, execução do Firefox etc.


Para adicionar as chaves ao GitLab, logue com o usuário referido acima e siga:

Profile Settings -> SSH Keys -> Add SSH Keys
Copie a chave segundos os howtos acima e cole na área específica.

Uma vez que você criou a chave, é necessário fazer a troca de chaves e reconhecer o servidor como válido. Essa operação não pode ser realizada no Jenkins, porque exige uma confirmação no comando de linha. Portanto execute uma operação de clonagem do Git na mão para que a chave do servidor seja instalada como uma chave conhecida.

A chave do servidor é copiada automaticamente para o diretório ~/.ssh/known_hosts, e dessa maneira você conseguirá acessar o GitLab pelo Jenkins sem maiores problemas.

Popular posts from this blog

Atom - Jupyter / Hydrogen

Design Patterns

Robson Koji Moriya disambiguation name