Como criar job no Jenkins integrado com Gitlab

Esse tutorial mostra os passos para copiar arquivos de um repositório para uma máquina quando realizado commit no repositório. Tem 2 etapas:

  • 1ro Configuração jenkins
  • 2do Configuração gitlab

Vamos lá:

1ro Configurações Jenkins

Criar job no jenkins para receber webhook do gitlab e mandar os arquivos do repositório para o servidor de destino

1. Criar novo job no jenkins

image

2. Dar um nome para o projeto e escolher a opção “Construir um projeto de software free-style”

3. Criar (caso não exista) uma conexão com o servidor que o arquivo será copiado em gerenciar jenkins > configurar o sistema > Publish over ssh

Obs: O plugin publish over ssh deve estar instalado no Jenkins

Preencher:

  • Name (nome da conexão)
  • Hostname
  • Username
  • Remote directory (diretório "raiz"da conexão)
  • Checkbox “Use password authentication, or use a different key”
  • Passphrase/Password

4. Preencher os seguintes campos do job (na opção configuração do job)

General

  • Nome do Projeto (sem acentuo, espaços e caracteres especiais)
  • Descrição
  • Gitlab connection

Gerenciamento de código-fonte

  • Radiobutton Git
  • Repository Url
  • Credentials (se não houver com o repositório, criar previamente nas opções Credentials do Jenkins)
  • Branches Specifier

Trigger de builds

  • Checkbox “Push events”
  • Checkbox “Opened Merge Request Events”

Ambiente de Build

  • Checkbox “Send files or execute commands over SSH after the build runs”
  • source files (Origem. Caminho dos arquivos do repositório que serão copiados)
    Obs: /** diz que são todos os arquivos e pastas desse diretório
  • Remove prefix (para tirar as pastas)
  • Remote directory (Destino. Considerando o caminho do default path definido no passo 3)
  • Exec command (echo ‘Ok’ para dizer que concluiu com sucesso

2do Configurações Gitlab

Criar webhook para o Jenkins quando ocorrência de algum evento

  1. Na página do repositório do projeto no gitlab ir em settings > integrations

  1. Clicar no botão add webhook

  2. Colocar o endereço do projeto em url, marcar os triggers desejados e deixar marcado “Enable SSL verification”

E Voilà!

Agora quando esses eventos selecionados acontecerem no gitlab o jenkins será avisado, vai fazer um git pull das alterações e copiar os arquivos de origem para o servidor de destino.

1 Curtida