Skip to content
Advertisement

How to use source command within Jenkins pipeline script

I recently rewrite bash execution command into Jenkins pipeline. The old code is like

...
source environment.sh
//Build
//Test
...

Now I use pipeline script to wrap the command, like this

sh '''
    ...
    source environment.sh
    //Build
    //Test
    ...
'''

However, I got an error, as.../.jenkins/script.sh: line 9: source: environment.sh: file not found. When I try to less environment.sh, it display correctly. So I suspect something wrong with source command within sh wrap.

Before using pipeline, source environment.sh command is working fine in shell execution. So source is install at Jenkins server, it seems pipeline script don’t know what is the source command.

How could I do to run source command within sh wrapped block?

Advertisement

Answer

Replace source environment.sh with

. ./environment.sh

Please note there is a space after first dot.

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement