I'll start looking at this when I swap out Maven SCM to do everything
for us.
On 21-Jul-08, at 4:16 AM, Stephen Connolly wrote:
I'm having problems getting this set up to work from behind a http
proxy.
I've set up subversion's servers file correctly
Here's what I get from the bootstrap:
started
ERROR: svn: No credential to try. Authentication failed
org.tmatesoft.svn.core.SVNCancelException: svn: No credential to try.
Authentication failed
at
org
.tmatesoft
.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:65)
at
org
.tmatesoft
.svn
.core.internal.io.dav.DAVUtil.findStartingProperties(DAVUtil.java:126)
at
org
.tmatesoft
.svn
.core
.internal
.io.dav.DAVConnection.fetchRepositoryUUID(DAVConnection.java:88)
at
org
.tmatesoft
.svn
.core
.internal.io.dav.DAVRepository.testConnection(DAVRepository.java:85)
at
hudson.scm.SubversionSCM
$DescriptorImpl.checkRepositoryPath(SubversionSCM.java:1282)
at
hudson.scm.SubversionSCM.repositoryLocationsExist(SubversionSCM.java:
1343)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:340)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:304)
at hudson.model.AbstractProject.checkout(AbstractProject.java:586)
at
hudson.model.AbstractBuild
$AbstractRunner.checkout(AbstractBuild.java:251)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:
225)
at hudson.model.Run.run(Run.java:778)
at hudson.model.Build.run(Build.java:85)
at hudson.model.ResourceController.execute(ResourceController.java:70)
at hudson.model.Executor.run(Executor.java:88)
Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: No
credential to
try. Authentication failed
at
org
.tmatesoft
.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:30)
at
org
.tmatesoft
.svn
.core
.internal
.wc
.DefaultSVNAuthenticationManager
.getFirstAuthentication(DefaultSVNAuthenticationManager.java:164)
at
org
.tmatesoft
.svn
.core
.internal
.io
.dav
.http.HTTPConnection.promptSSLClientCertificate(HTTPConnection.java:
563)
at
org
.tmatesoft
.svn
.core
.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:316)
at
org
.tmatesoft
.svn
.core
.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:246)
at
org
.tmatesoft
.svn
.core
.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:234)
at
org
.tmatesoft
.svn
.core.internal.io.dav.DAVConnection.doPropfind(DAVConnection.java:97)
at
org
.tmatesoft
.svn.core.internal.io.dav.DAVUtil.getProperties(DAVUtil.java:57)
at
org
.tmatesoft
.svn.core.internal.io.dav.DAVUtil.getResourceProperties(DAVUtil.java:
62)
at
org
.tmatesoft
.svn.core.internal.io.dav.DAVUtil.getStartingProperties(DAVUtil.java:
92)
at
org
.tmatesoft
.svn
.core.internal.io.dav.DAVUtil.findStartingProperties(DAVUtil.java:114)
... 13 more
finished: FAILURE
The hudson.zip I'm using has md5sum of
17ac6aa6bcbc9a56862202a68f2a42a8 hudson.zip
Any pointers to what else I need to configure?
I'd like to try this out on our heterogeneous build farm
-Stephen
On Sun, Jul 20, 2008 at 2:14 AM, Jason van Zyl <[EMAIL PROTECTED]>
wrote:
On 19-Jul-08, at 6:42 PM, Dennis Lundberg wrote:
No, I don't have Cygwin installed, and I'm seeing the same problem
that
Benjamin is.
The problem is that the config.xml for maven-2.1.x-IT-support and
maven-2.1.x-ITs use this:
<builders>
<hudson.tasks.Shell>
<command> ...</command>
</hudson.tasks.Shell>
</builders>
To be able to run such a job in Hudson, it requires the presence
of a
"sh"
executable, which doesn't exist on Windows, unless you have Cygwin
installed.
We could make an installation like below and that's not a problem.
I can
also make another executor for Hudson using the Plexus CLI utils so
that
it
just works on any platform. I'll add the installation for now and
make
another bundle.
The following steps are needed to make the Hudson configuration
platform
independent:
1. Create a "MavenInstallation" configuration for Hudson in
runtime/hudson.tasks.Maven.xml that defines the bootstrapped Maven.
<?xml version='1.0' encoding='UTF-8'?>
<hudson.tasks.Maven_-DescriptorImpl>
<installations>
<hudson.tasks.Maven_-MavenInstallation>
<name>Maven 2.1 SNAPSHOT (built by Hudson)</name>
<mavenHome>@[EMAIL PROTECTED]</mavenHome>
</hudson.tasks.Maven_-MavenInstallation>
</installations>
</hudson.tasks.Maven_-DescriptorImpl>
2. Replace the <hudson.tasks.Shell> builders with
<hudson.tasks.Maven>
for
maven-2.1.x-IT-support. It should look like this:
<hudson.tasks.Maven>
<targets>[EMAIL PROTECTED]@ clean install</targets>
<mavenName>Maven 2.1 SNAPSHOT (built by Hudson)</mavenName>
</hudson.tasks.Maven>
3. Replace the <hudson.tasks.Shell> builders with
<hudson.tasks.Maven>
for
maven-2.1.x-ITs. It should look like this:
<hudson.tasks.Maven>
<targets>[EMAIL PROTECTED]@ -Prun-its clean test</targets>
<mavenName>Maven 2.1 SNAPSHOT (built by Hudson)</mavenName>
</hudson.tasks.Maven>
Jason van Zyl wrote:
Brian and Dennis were both running under Windows and Brian didn't
have
Cygwin installed. Not sure what Dennis had on his machine.
On 18-Jul-08, at 2:47 PM, Benjamin Bentmann wrote:
Brian E. Fox wrote:
What dependency on cygwin?
I am referring to this error while trying to build
maven-2.1.x-IT-support:
[workspace] $ sh -xe <snip>\Temp\hudson39040.sh
The system cannot find the file specified
FATAL: Command execution failed
java.io.IOException: Cannot run program "sh" (in directory
"M:\hudson\runtime\jobs\maven-2.1.x-IT-support\workspace"):
CreateProcess
error=2, The system cannot find the specified file
at java.lang.ProcessBuilder.start(Unknown Source)
at hudson.Proc$LocalProc.<init>(Proc.java:104)
at hudson.Proc$LocalProc.<init>(Proc.java:82)
at hudson.Launcher$LocalLauncher.createLocalProc(Launcher.java:
291)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:282)
at hudson.Launcher.launch(Launcher.java:120)
at hudson.Launcher.launch(Launcher.java:72)
at
hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:60)
at
hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:34)
at hudson.model.Build$RunnerImpl.build(Build.java:130)
at hudson.model.Build$RunnerImpl.doRun(Build.java:105)
at
hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:
231)
at hudson.model.Run.run(Run.java:778)
at hudson.model.Build.run(Build.java:85)
at
hudson.model.ResourceController.execute(ResourceController.java:70)
at hudson.model.Executor.run(Executor.java:88)
Caused by: java.io.IOException: CreateProcess error=2, The system
cannot
find the specified file
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 16 more
finished: FAILURE
That batch script seems overly complicated, what's it doing that
the other .bat isn't?
First of all: What "other. bat" file exactly are you referring to?
To make sure I wasn't fooled by my browser's cache, I just
redownloaded
the Hudson package from Jason's public_html directory on people
which
was
last modified on 2008-07-17 21:31:17. Unpacking this ZIP gives me
440 create.sh
2.441.718 haven-1.0.jar
19.810.714 hudson.war
142 start.sh
<DIR> templates
i.e. there is no Windows batch file at all, only two Unix shell
scripts.
Next up, I manually simulated the commands from start.sh. The
config.xml
generated by haven for maven-2.1.x-IT-support contains
<builders>
<hudson.tasks.Shell>
<command>( cd ${WORKSPACE}/core-integration-tests-support;
M2_HOME=M:\hudson\runtime/apache-maven-2.1-SNAPSHOT;
M:\hudson\runtime/apache-maven-2.1-SNAPSHOT/bin/mvn
-Dmaven.repo.local=M:\hudson\runtime\repos\integration clean
install
)</command>
</hudson.tasks.Shell>
</builders>
which again is no batch file and causes the build to fail on
Windows
without cygwin on the PATH since "sh" is not a standard Windows
executable
(see error above).
So my best guess is, that we are talking about two different
bundles?
Regarding the purpose of the batch files I posted: The ones you
quoted
are merely two lines, effectively the same as the current shell
scripts.
The only difference is that I preferred to use "-f" to specify the
POMs
instead of changing the current directory. I mailed about that
previously
with Jason.
The one I posted before (hudson.bat), yes you're right, that's
overly
complex. The second "if" testing for the existence of
%HUDSON_HOME% can
be
removed since that is handled by haven.
Benjamin
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
believe nothing, no matter where you read it,
or who has said it,
not even if i have said it,
unless it agrees with your own reason
and your own common sense.
-- Buddha
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Dennis Lundberg
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
A party which is not afraid of letting culture,
business, and welfare go to ruin completely can
be omnipotent for a while.
-- Jakob Burckhardt
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
A party which is not afraid of letting culture,
business, and welfare go to ruin completely can
be omnipotent for a while.
-- Jakob Burckhardt
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]