Jenkins execute shell scripts with parameters on remote machine Jenkins execute shell scripts with parameters on remote machine jenkins jenkins

Jenkins execute shell scripts with parameters on remote machine


You can reference any environment variable, including Jenkins parameters, as any other variable in linux: ${VARNAME}


I have the same problem with it.

The parameters/${xx}/$xxx are undefined in remote machine. So when your shell script executes in remote machine cannot get the correct value.

This way will fix the problem:

ssh -t server.example.com 'export MYVAR='"'$LOCALVAR'"'; mycommand'


As mentioned by @Slav you can use environment/build arguments like any other environment variable in Jenkins. One thing to remember is that they get expanded before the script is executed. If you happen to be using pipeline groovy scripts, make sure you use double quotes " instead of single ':

following will not work:

sh '/usr/local/bin/check_out_code.sh ${giturl} ${branch}'

following will work:

    sh "/usr/local/bin/check_out_code.sh ${giturl} ${branch}"