Skip to content

DontShaveTheYak/jenkins-std-lib

Repository files navigation

Tests Lint Latest

DontShaveTheYak presents the Jenkins Standard Library. A set of useful tools for every day CI/CD jobs.

Why use our library?

Jenkins

Demo

Do you want to see the features first? We have a docker image that has Jenkins already setup, configured with our library and some sample jobs.

docker run -d --rm -p 4000:80 dsty/jenkins:demo

You can then see the jenkins at 127.0.0.1:4000. If the seed job hasn't run, you can run it manually.

Installation

First you need to configure your Jenkins with our Shared Library. In the Jenkins configure page scroll down until you reach "Global Pipeline Libraries". This is where you can configure what you want to name the library, which version to use, and the url to reach it.

Configure

Note: Default version of master will get you the latest release. For production you should pin Default version to a release tag.

For more detailed information see the offical Jenkins Shared Library documentation.

Recommended Setup

Our Shared Library will function and look its best if you setup the additional plugins below. We currently only support Agents that use Linux.

We recommend the following plugins:

  • simple-theme-plugin - To remove non-useful information from build console. Use this config:

    .pipeline-annotated {
       display: none;
    }
    .pipeline-new-node {
          display: none;
    }
    
  • AnsiColor - To get color coded log messages from our logging package.

The required plugins enable complete library functionality can be found in plugins.txt.

Note: Individual library functions may have their own requirements. See the docs

Usage

Once you have installed our shared library you just need to reference it at the top of any jobs.

@Library('jenkins-std-lib')

For full javadoc documentation see here. To see example Jenkinsfile's check out the job directory.

Support DTSY

I'm just a DevOps engineer trying to make the kind of tools I would like to see at work.

You can support my efforts in any of the following ways:

  • Star this repo! 🤩
  • Follow me on Twitter.
  • Spread the word 😁
  • Contribute to this repo using the guide!
  • Sponsor me on GitHub 😍
  • Support me on Patreon 🥰

License

This project is licensed as GNU General Public License v3.0 see LICENSE.md.

License attribution for depenencies.

FOSSA Status