On Tuesday, August 6, 2019 at 8:31:45 PM UTC+5:30, Jérémie Faucher-Goulet 
wrote:
>
> Hi, I find myself in a bit of a bind and would like suggestions on how to 
> move forward with our Jenkins cluster.
>
> We've recently updated from a 3 year old version to start using all the 
> beautiful pipeline plugins stuff, but would like to slowly transition our 
> hundreds of job over time. The first part worked without too many issues 
> and our old jobs are running fine on the updated cluster (1 master + 7 
> slaves). However I seem to be stuck in regards to the shell executable.
>
> Currently, it is defined as an environment variable in our Jenkins global 
> configuration. In this manner:
> Shell executable: ${SHELL_EXEC}
>
> Not far above, we have a default value which is defined globally, pointing 
> to a location where we have MSYS available on most windows slaves.
>
> Each Linux slaves override this environment variable in this manner in 
> their node configuration:
> SHELL_EXEC=/bin/sh
>
>
> When I put a "sh" step in my new declarative file, I get a on a Linux 
> node/agent:
>
> *sh: 1: ${SHELL_EXEC}: not found*
>
>
> I read somewhere that environment variables defined in the slave node 
> configuration are not taken into account when using Jenkins pipeline. A pity. 
> So I did the following tests
>
> I tried using a environment block:
>
> stage {    
>     environment {
>         SHELL_EXEC = '/bin/sh'
>     }
>     steps {
>         sh 'echo "Something"'
>     }
> }
>
>
>
> But it doesn't work and I get the same error. I also tried using 'withEnv' 
> this way:
>
>
> stage {
>     steps {
>         withEnv(["SHELL_EXEC='/bin/sh'"]) {
>             sh 'echo "This is a print test"'
>         }
>     }
> }
>
>
> And I also get the same error.
>
>
>
> Does anyone have any suggestion on how to override the 'Shell executable' 
> currently set in the global jenkins configuration? I would like to make the 
> transition to Jenkins Pipeline as easy as possible and not having to 
> reconfigure 100+ jobs manually just so I can blank this global setting.
>
>
Not sure how this can solve your problem, but check this note here, 
https://support.cloudbees.com/hc/en-us/articles/215171038-How-do-I-run-a-different-Shell-interpreter-in-a-Pipeline-Script
 

/Ram

-- 
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/4339ab15-52bc-45a9-966b-d5d94ed2c821%40googlegroups.com.

Reply via email to