De forma a automatizar rotinas e processos que levam tempo, podemos criar um script em Groovy e inserir as instruções no Jenkins, como uma Pipeline.
Para o exemplo demonstrado pretendemos apenas descarregar um repositório que está no GitHub, o que é extremamente simples de ser feito.
O primeiro passo é criar um novo item no servidor com o Jenkins:
Escolher um nome representativo e selecionar "Pipeline":
Podemos avançar para o script em Groovy, também chamado de Jenkinsfile. Eu pessoalmente prefiro escrever de forma declarativa, pois é de fácil leitura e portanto facilita o debug.
Todas as pipelines declarativas devem começar e acabar entre o bloco "pipeline":
pipeline {
/* CONTEUDO */
}
Dentro do servidor do Jenkins precisamos de definir qual agente deve ser utilizado para correr o script. Uma vez que não temos executores definidos no nosso servidor, podemos utilizar a opção "any":
Definido o agente, precisamos apenas de declarar cada etapa individual e seus respetivos passos no bloco geral de passos. A primeira etapa será chamada "Primeira etapa" e o único passo é executar um echo "Hello World!":
pipeline {
agent any
stages {
stage("Primeira etapa") {
steps {
echo "Hello World!"
}
}
}
}
Podemos então fazer o git clone do repositório para o nosso workspace no Jenkins:
pipeline {
agent any
stages {
stage("Primeira etapa") {
steps {
echo "Hello World!"
}
}
stage("Segunda etapa") {
steps {
sh "git clone https://github.com/guilherme-marcello/GatheringTK.git"
}
}
}
}
Escrevemos o código em "Pipeline":
Gravamos as alterações e fazemos a build da pipeline!
Se correr sem erros, devemos ter qualquer coisa parecida com:
Ao selecionar a build (#1) podemos ter uma visão geral do que aconteceu, bem como verificar o console output:
Com base no estado da build #1 (SUCESS) e nos logs apresentados no Console Output, podemos concluir que fez exatamente o que pretendíamos inicialmente.