I am considering to use Jenkins pipeline script recently, one question is that I don\'t figure out a smart to way to create internal reusable utils code, imagine, I have a commo
The Shared Libraries (docs) allows you to make your code accessible to all your pipeline scripts. You don't have to build a plugin for that and you don't have to restart Jenkins.
E.g. this is my library and this a Jenkinsfile that calls this common function.
EDIT (Feb 2017):
The library can be accessed through Jenkins' internal Git server, or deployed through other means (e.g. via Chef) to the (still possible, but very unhandy).workflow-lib/
directory within the jenkins user's home directory.
The global library can be configured through the following means:
@Library('github.com/...')
annotation in the Jenkinsfile
pointing to the URL of the shared library repo.A mix of the first and last method would be a not explicitly loaded shared library that is then requested only using its name in the Jenkinsfile
: @Library('mysharedlib')
.