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





Reply via email to