jenkins on Mac, PATH is not set right, no /usr/local/bin

homebrew, jenkins, launchd, macos

Solution

In your launchd .plist file for Jenkins, you can set the PATH environment variable by using the following:

<key>EnvironmentVariables</key>
<dict>
    <key>PATH</key>
    <string>(insert your path value here)</string>
</dict>

That should set the PATH to whatever you need.

Problem

I recently installed Jenkins, using Homebrew. I also installed Mercurial using Homebrew. I can successfully clone an hg repo just fine - from Terminal. But if I try and do the same thing as part of a job in Jenkins, it fails. So, in by job, I told Jenkins to run a shell script `echo $PATH`. Sure enough, the path `/usr/local/bin` is not there. If I execute the same command from Terminal, it's there. So, what is the best way to modify PATH so that Jenkins is pulling the same PATH that I'm using, when I echo it from Terminal? Note, Jenkins is running from the same user account that I'm logged into doing these tests, so I can't fathom why this is happening.

Original source

Related problems