Pesquisar aqui

quarta-feira, 13 de janeiro de 2021

[IDS] Jenkins: Implementação de rotinas com a linguagem de programação Groovy

    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":

pipeline {
    agent 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.

Sem comentários:

Enviar um comentário

Comente de forma construtiva...

Nota: só um membro deste blogue pode publicar um comentário.