Hudson Console question

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Hudson Console question

Andy Yang-4

I'm running Hudson 1.119 on Solaris and using ant to script all of my
tasks.

What I want to do is to deploy my project to a separate Tomcat instance
in order to run integration tests. (I'm running Hudson separately on a
Jetty instance)

However, when I launch Tomcat and it starts up successfully, I
encounter the usual problem of the build "hanging" so my subsequent ant
tasks never get run. I found the following page in the wiki which I
believe is the reason for this problem?

http://hudson.gotdns.com/wiki/display/HUDSON/Spawning+processes+from+build

Now, this is the ant task I'm using to launch Tomcat:

<target name="tomcat-start" description="Starts up Tomcat">
    <java jar="${env.CATALINA_HOME}/bin/bootstrap.jar" fork="true"
spawn="true">
        <jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}"/>
    </java>
</target>

In specifying "spawn=true" I expected the following:

1. the Tomcat instance starts up in its own process
2. as a separate process, its console no longer shows up in the Hudson
console

When I execute my ant tasks from the command line on my workstation, it
behaves this way. But when Hudson runs, I find that the Tomcat console
is still being captured by Hudson and it never completes the
tomcat-start task.

Have I made an erroneous assumption about what the expected behaviour
should be? Or is Hudson doing something under the covers with the
pipes?

Thanks for any comments/feedback.

Andy


      Be smarter than spam. See how smart SpamGuard is at giving junk email the boot with the All-new Yahoo! Mail at http://mrd.mail.yahoo.com/try_beta?.intl=ca

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Hudson Console question

Kohsuke Kawaguchi
Administrator
Andy Yang wrote:

> I'm running Hudson 1.119 on Solaris and using ant to script all of my
> tasks.
>
> What I want to do is to deploy my project to a separate Tomcat instance
> in order to run integration tests. (I'm running Hudson separately on a
> Jetty instance)
>
> However, when I launch Tomcat and it starts up successfully, I
> encounter the usual problem of the build "hanging" so my subsequent ant
> tasks never get run. I found the following page in the wiki which I
> believe is the reason for this problem?
>
> http://hudson.gotdns.com/wiki/display/HUDSON/Spawning+processes+from+build
Yes.

> Now, this is the ant task I'm using to launch Tomcat:
>
> <target name="tomcat-start" description="Starts up Tomcat">
>     <java jar="${env.CATALINA_HOME}/bin/bootstrap.jar" fork="true"
> spawn="true">
>         <jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}"/>
>     </java>
> </target>
>
> In specifying "spawn=true" I expected the following:
>
> 1. the Tomcat instance starts up in its own process
> 2. as a separate process, its console no longer shows up in the Hudson
> console
>
> When I execute my ant tasks from the command line on my workstation, it
> behaves this way. But when Hudson runs, I find that the Tomcat console
> is still being captured by Hudson and it never completes the
> tomcat-start task.
>
> Have I made an erroneous assumption about what the expected behaviour
> should be? Or is Hudson doing something under the covers with the
> pipes?
My understanding is that processes spawned like that still inherits all
the file descriptors from the parent Ant process, so it still causes the
hang.


--
Kohsuke Kawaguchi
Sun Microsystems                   [hidden email]

smime.p7s (4K) Download Attachment