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 [email protected].
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