I’ve never tried to use caching – although I should – since most of my
Mac projects are from the same repository.
It appears that the problem is not in accessing /usr/local/bin/hg but
accessing your cache.
I’d try turning off caching in the top-level Mercurial configuration
for now to see if you get farther (up to authorization for the initial
clone).
However, if you get it working – share that knowledge.
The help text for Mercurial’s “Use repository cache” says that the
cache is kept on the master node, although additional caches may be
kept on the slave. I don’t see any configuration to specify how to
access the master node’s file system (where the caches would be kept)
from the slave node.
Chuck
*From:*jenkinsci-users@googlegroups.com
[mailto:jenkinsci-users@googlegroups.com] *On Behalf Of *Gili
*Sent:* Thursday, August 30, 2012 4:21 PM
*To:* jenkinsci-users@googlegroups.com
*Subject:* Re: Mercurial automatic installer on slave node
Hi Chuck,
I just noticed something. In the "hgcache" line below, the "hg" path
resolves relative to the slave home directory but "hgcache" resolves
relative to the master home directory. Is this a bug? Shouldn't
"hgcache" resolve relative to the slave's home directory?
Thanks,
Gili
On Thursday, August 30, 2012 12:14:19 PM UTC-4, Gili wrote:
Hi Chuck,
Good catch! But I think I might be having a different problem. I
followed your advice but now I get:
$ /usr/local/bin/hg clone --noupdate <repository>
C:\Users\Gili\.jenkins\hgcache\FD91D6ED4EFC637D1A4D0A8F0B8E1D0DB4D1A237-vtlr
ERROR: Failed to use repository cache for <repository>
java.io.IOException <http://stacktrace.jenkins-ci.org/search?query=java.io.IOException>:
Cannot run program "/usr/local/bin/hg": CreateProcess error=2, The system cannot find
the file specified
... which is clearly nonsense since I can invoke that same
command-line myself and it works. Any other ideas? Is it perhaps some
sort of permission problem?
PS: My repository requires authentication which I haven't configured
yet so I *know* it'll fail once it reaches that point, but thus it
seems it hasn't even found "hg" yet so I don't think it's related.
PS2: I filed https://issues.jenkins-ci.org/browse/JENKINS-14996 for
the issue you reported.
Gili
On 30/08/2012 11:43 AM, Chuck Doucette wrote:
You ran into the same problem that I did.
I assume Mercurial (hg) was installed in /usr/local/bin.
I also assume that the user you have set up to run Jenkins has
/usr/local/bin in its path.
Thus, you should reasonably expect for the Mercurial plugin to find hg in
the path.
Since it does not, I believe that is a bug.
Perhaps you would report that for both of us?
In the meantime, let me tell you about the workaround that is working for
me.
Go onto the Jenkins configuration page (Manage Jenkins, Configure System),
Scroll down to the section for the Mercurial plugin.
Click on the button that says Mercurial installations.
Define an installation something like this:
Name: osx
Installation directory: /usr/local
Executable: INSTALLATION/bin/hg
Then, whatever project you have that depends on Mercurial on OSX, change
that Mercurial installation for that project and choose the osx (or whatever
you called it) installation, rather than default.
Let us know if this resolves your problems.
Chuck
-----Original Message-----
From:jenkinsci-users@googlegroups.com
<mailto:jenkinsci-users@googlegroups.com>
[mailto:jenkinsci-users@googlegroups.com] On Behalf Of gili.tzabari
Sent: Thursday, August 30, 2012 11:17 AM
To:jenkinsci-users@googlegroups.com
<mailto:jenkinsci-users@googlegroups.com>
Subject: Re: Mercurial automatic installer on slave node
Hi again,
So I installed Mercurial manually but now I get:
Building remotely on MacOS X 10.7 in workspace <workspace> JDK installation skipped:
Unknown CPU name: mac os x $ hg clone --rev default --noupdate <repository>
<workspace>
ERROR: Failed to clone <repository> because hg could not be found; check
that you've properly configured your Mercurial installation
ERROR: Failed to clone <repository>
Thing is, if I manually ssh into OSX from Windows I can execute "hg"
just fine. Same thing in a local terminal on the Mac. Any ideas how to troubleshoot this
further?
Thanks,
Gili
On 30/08/2012 11:10 AM, Chuck Doucette wrote:
I don't know what is supposed to happen, I just know that I recently
configured a Jenkins slave node on OSX and it didn't work until I manually
installed both Java and Mercurial. Indeed, it would be nice if both happened
automatically (Jenkins install Java and the Mercurial plugin install Mercurial). I wasn't
aware of this page that you referenced or exactly what that implies. I read that page as
saying that more tools, specifically auto-installation of SCMs, is needed (e.g.
Mercurial). Why it specifically says: "Mercurial available as of 1.18" is
indeed confusing (since it implies it is already supported, but is listed under missing
tools).
Chuck
-----Original Message-----
From:jenkinsci-users@googlegroups.com <mailto:jenkinsci-users@googlegroups.com>
[mailto:jenkinsci-users@googlegroups.com] On Behalf Of gili.tzabari
Sent: Thursday, August 30, 2012 10:57 AM
To:jenkinsci-users@googlegroups.com
<mailto:jenkinsci-users@googlegroups.com>
Subject: Re: Mercurial automatic installer on slave node
Chuck,
Are you sure? Looking at
https://wiki.jenkins-ci.org/display/JENKINS/Tool+Auto-Installation it says
"Mercurial available as of 1.18". I thought this means that Mercurial supports
auto-installation.
We really need someone to put up some sort of grid of operating
systems and supported auto-installers. Also, note that in the past the JDK
auto-installer didn't support OSX because Oracle JDK wasn't available. Today it
is. Is anyone updating the JDK installer for OSX?
Thanks,
Gili
On 30/08/2012 10:52 AM, Chuck Doucette wrote:
I believe you must manually install both Java (if you haven't
already) and Mercurial on the OSX node.
It would be nice if Jenkins or more specifically its Mercurial
plugin also installed Mercurial automatically.
Chuck
On Aug 30, 2012, at 10:34 AM, Gili <gili.tzab...@gmail.com
<mailto:gili.tzab...@gmail.com><mailto:gili.tzab...@gmail.com>
<mailto:gili.tzab...@gmail.com>> wrote:
Hi,
I've configured a master node on Windows and a slave node on OSX
10.7.
I configured automatic tool installation on the master (including
for
Mercurial) and created a task that runs exclusively on the OSX node.
When I first the task it fails because Mercurial is not installed.
It
seems Jenkins never attempts to install it.
I'm new to clustering. How am I supposed to configure this? Am I
doing something wrong or is this simply not supported? I am using
Jenkins 1.478.
PS: I cross-posted this question to
http://stackoverflow.com/questions/12185230/jenkins-how-to-configure-
m
ercurial-installer
Thanks,
Gili