Bibliotecas para padronizar os stages do pipeline do Jenkins. Com essa lib, toda a alteração/inclusão de etapas será refletida em todos os projetos que a utilizam, evitando ter que ir em projeto por projeto e atualizar o Jenkinsfile.
Para adicionar essa lib em um projeto é necessário fazer configurar o Pipeline Libraries no Job do projeto no Jenkins e alterar o Jenkinsfile do projeto:
Na aba Pipeline Libraries na configuração do Job do projeto no Jenkins, configurar o nome da lib e a versão:
Apontar o repositório da lib no github e escolher a credencial de acesso
Alterar o Jenkinsfile para importar a lib, deixando-o somente com as seguintes linhas para um projeto em Java:
@Library('jenkins-pipeline-commons') _
mvnAppPipeline()
Para um projeto em Nodejs, a chamada da função muda, ficando da seguinte maneira:
@Library('jenkins-pipeline-commons') _
nodePipeline()
Se tudo estiver configurado corretamente, o dispado do build do projeto deverá utilizar a lib para executar os stages descritos.
É possível enviar parametros para as funções mvnAppPipeline() e nodePipeline(). Com isso, é possível pular determinados stages do pipeline. Exemplo:
nodePipeline skipLint: false, skipTest: true
-
Configurações:
- skipLint: Não irá executar o
stage
doLint
. - skipTest: Não irá executar os testes durante o
build
.
- skipLint: Não irá executar o
-
Observação: No
stage
Test
, se existir o arquivosonar-project.properties
, o scriptnpm run test-sonar
será executado, caso contrário, o scriptnpm run test
será executado.
JAVA
@Library('jenkins-pipeline-commons') _
k8sjavaAppPipeline()
NODEJS
@Library('jenkins-pipeline-commons') _
k8snodePipeline()