Giter Club home page Giter Club logo

jenkins-pipeline-commons's Introduction

Jenkins Pipeline Commons

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.

Como utilizar a lib

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:

Pipeline Libraries na configuração do Job

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

Jenkinsfile do projeto

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.

Parametrização da função

É 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 do Lint.
    • skipTest: Não irá executar os testes durante o build.
  • Observação: No stage Test, se existir o arquivo sonar-project.properties, o script npm run test-sonar será executado, caso contrário, o script npm run test será executado.

JAVA

@Library('jenkins-pipeline-commons') _
k8sjavaAppPipeline()

NODEJS

@Library('jenkins-pipeline-commons') _
k8snodePipeline()

jenkins-pipeline-commons's People

Contributors

jaflores357 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.