It looks like the "sh" step uses the same shell session that the Jenkins agent does when connecting a node to master. Therefore, any default shell configuration is determined in node settings, and changing it, or any of the dot files, requires reconnecting the node to reload them.
I would say it is a best practice to use a Jenkins Shared Library and define a custom step, which will use the "sh" step to run a specified command in a new "bash" login session. That way you can ensure the proper dot files, NVM etc. are always sourced fresh. On Monday, June 15, 2020 at 9:18:58 PM UTC+2, Martin Baillie wrote: > > I'm experiencing a similar issue, did you find a solution? > > On Wednesday, 9 January 2019 09:19:25 UTC, Kamil Dzierżanowski wrote: >> >> Hello, >> >> I'm trying to determine, which (if any) files are sourced by the shell, >> in which commands specified in "sh" pipeline step are executed. I need to >> make sure the NVM (Node Version Manager) is sourced everytime this step is >> used. >> I tried numerous dot-files for the user the Jenkins agent is using, as >> well as the /etc/profile, but none works. I'll be grateful for any hints or >> for pointing me to an existing answer (I failed to find any). >> >> Kamil >> > -- 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/53979b0c-41e1-43c1-a50b-450823380f45o%40googlegroups.com.