This is my personal Jenkins Shared Library.
This repository contains a library of Jenkins Global Variables & Helper Variables that I can use in my project's Jenkinsfile
Based on the following articles:
As per the instructions on the [Jenkins Documentation], to include this library; in your Jenkinsfile
:
@Library('jenkins-shared-library@1.0.0') _
note that the name is the id
of the Shared Library configured under Jenkins Configuration and the version after the @
sign
can be master
which points to the master branch of this library or simply omitted which would pick up the
default version configured under Jenkins Configuration (if you have it configured there).
To use one of the global variables or helper variables defined in this library you just simply call it like the following examples.
@Library('jenkins-shared-library@1.0.0') _
buildJavaApp(repo: "name of repo")
@Library('jenkins-shared-library@1.0.0') _
buildJavaAppDockerFull(repo: "name of repo", microserviceName: "example-app")
See under vars/
to see list of full available Global Variables/Helper Variables to use.
Alternatively, you can check out this example demo project which shows some use cases of this Shared Library: Jenkins Pipelines
A lot of the configuration for external systems (Github, SonarQube etc) are set in the Constants.groovy
constants class.
You can edit this to match according to your settings.
Each of the global variables (helper functions) has its own documentation (corresponding *.txt file). You can access these documentation on the Global Variable Reference link on the navigation sidebar of pipeline jobs that imported this shared library.
Note that as per Jenkins documentation this is only visible after one successful run of the pipeline job for the documentation to be generated.
The documentation is in (.txt) file format and contains HTML.
Colin But
v0.0.2
- global variables documentation
- new log levels (fatal, trace) to log utility
- support for sonar in pipeline jobs
v0.0.1
- basic Global Variables (steps) to build:
- a Java App
- a full pipeline of building a Java App (from checkout to deployment)
- Library classes to:
- build Docker Image
- Push Docker Image to AWS ECR (Elastic Container Registry) - AWS's Docker Registry
- basic Git helper commands
- utilities
- logging
- notifications
- Unit Tests using Jenkins-Spock