I'm trying to figure it out on how to work with a specific version of a Shared Library.
Jenkins
documentation about this isn't quite clear so I've being making some experimenting but with no success.
They basically say:
But how should I configure somelib
on 'Global Pipeline Libraries' section under Manage Jenkins > System Config menu so I can use any of the available stable versions?!
The thing is:
Imagine that I've my somelib
Project under version control and, currently, I've released 2 stable versions of it: v0.1
and v0.2
(so I have 2 tags named v0.1
and v0.2
).
And in some Pipeline I want to use somelib
's version v0.1
and on another Pipeline I need to use v0.2
version.
How can I do this using the @Library
annotation provided by Jenkins?
In the Global Pipeline Libraries under Jenkins > System Config you only set the default library version to use if not specified otherwise inside the Jenkinsfile
. This might look like this (ignore the Failed to connect to repo
error here):
Inside the Jenkinsfile
you can explicitly specify which version you want to use if you do not want the default:
@Library('somelib@<tag/branch/commitRef>')
That way you can freely choose at any time which pipeline version to use for you project.