When testing library changes, I usually make a new folder and specify the
branch I am testing there. I’ve never tried to do the dynamic environment
variable.

Is your end goal to integration test your library before merging it to
master? We do something similar by standing up a local Jenkins and using
docker based agents.

On Thu, Jan 16, 2020 at 07:01 Chris Carpenter <chriscarpente...@gmail.com>
wrote:

> It seems with this you lose some functionality with code in the `src`
> directory.
>
> Using classes from the src/ directory is also possible, but trickier.
>> Whereas the @Library annotation prepares the “classpath” of the script
>> prior to compilation, by the time a library step is encountered the script
>> has already been compiled. Therefore you cannot import or otherwise
>> “statically” refer to types from the library.
>>
>
> Is there a way to specify the branch dynamically in the global library scm
> settings? I see in the legacy git loader There is reference to env
> variables in the `Branches to build` section.
>
> ${ENV_VARIABLE}
>>
>> It is also possible to use environment variables. In this case the
>>> variables are evaluated and the result is used as described above.
>>
>> E.g. ${TREEISH}, refs/tags/${TAGNAME},...
>>
>>
> Is this able to load the branch based on the current multibranch pipeline
> env? I didn't see any variable reference in the modern scm git config.
>
> On Wednesday, January 15, 2020 at 11:59:29 PM UTC-5, Jan Monterrubio wrote:
>>
>> https://jenkins.io/doc/book/pipeline/shared-libraries/
>>
>> Check the loading dynamic libraries portion. It might do what you want.
>>
>> On Wed, Jan 15, 2020 at 15:12 Chris Carpenter <chriscar...@gmail.com>
>> wrote:
>>
>>> Is there a way to dynamically load the library from dynamic branch
>>> variable like this:
>>>
>>> @Library("jenkins-pipeline@${env.BRANCH_NAME}") _
>>>
>>> In a multi branch pipeline you have access to the current branch name in
>>> the environment variable `BRANCH_NAME`. I'd like to be able to test changes
>>> to my pipeline before committing them to master branch potentially breaking
>>> builds.
>>>
>>> I get the following warning in the console output:
>>>
>>> WorkflowScript: @Library value ‘jenkins-pipeline@$env.BRANCH_NAME’ was not 
>>> a constant; did you mean to use the ‘library’ step instead?
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Jenkins Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to jenkins...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/jenkinsci-users/ca65b535-4225-41ef-9497-ac69a10098c2%40googlegroups.com
>>> <https://groups.google.com/d/msgid/jenkinsci-users/ca65b535-4225-41ef-9497-ac69a10098c2%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jenkinsci-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/7c19684f-ca4a-4bcb-90f5-9cb7aca16233%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-users/7c19684f-ca4a-4bcb-90f5-9cb7aca16233%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CADgiF9LKaYktERDQZeQn2ZTAdjMosevwHn9sXk-BjUA6%2B%2B0m4Q%40mail.gmail.com.

Reply via email to