I tried both suggestions, the deploy plugin works great for me, as well as using an ANT script to deploy it...the only problem is I need to shut Tomcat down completely, manually place the .war, and then start up Tomcat--otherwise Tomcat will remove some DB configuration files i keep in /conf/Catalina/localhost. I wish there was a good way to stop/start/deploy applications from Jenkins (the deploy plugin is nice, but it only deploys...no controls to start and stop).
I'd be happy if Jenkins would stop automatically killing the Tomcat process I start during the build, but I'm not sure how to disable the auto-kill feature of jenkins when running Jenkins through the Tomcat container...does anybody know how to do this? P On Monday, August 6, 2012 10:40:36 AM UTC-7, Jeff Vincent wrote: > > I tried the Jenkins deploy plugin but it wouldn't work with Tomcat 7 for > some reason. Maybe I missed something, but for my Maven projects, just > ended up using the maven-tomcat7-plugin in the POM. > > On Mon, Aug 6, 2012 at 11:34 AM, Chris Marks <topher1...@gmail.com> wrote: > >> You might also look at the deploy plugin. It creates a post-build step >> that can remotely deploy a war to multiple containers including Tomcat. >> >> Topher >> On Aug 6, 2012 12:30 PM, "Jeff" <predato...@gmail.com> wrote: >> >>> >>> http://tomcat.apache.org/tomcat-5.5-doc/manager-howto.html#Executing_Manager_Commands_With_Ant >>> >>> >>> In the <$TOMCAT_HOME>/lib folder there should be a JAR called >>> catalina-ant.jar. Make sure it is in your ANT classpath. Import the ant >>> tasks in your ant script: >>> >>> <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/> >>> <taskdef name="list" classname="org.apache.catalina.ant.ListTask"/> >>> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"/> >>> <taskdef name="resources" >>> classname="org.apache.catalina.ant.ResourcesTask"/> >>> <taskdef name="roles" classname="org.apache.catalina.ant.RolesTask"/> >>> <taskdef name="start" classname="org.apache.catalina.ant.StartTask"/> >>> <taskdef name="stop" classname="org.apache.catalina.ant.StopTask"/> >>> <taskdef name="undeploy" >>> classname="org.apache.catalina.ant.UndeployTask"/> >>> >>> >>> Then call it: >>> >>> <target name="deploy_dev" description="Deploy the WAR to Tomcat"> >>> <*deploy * >>> path="/${app.name}" >>> username="${tomcat.dev.username}" >>> war="file:${package.name}/${war.build.dir}/${app.name}.war" >>> password="${tomcat.dev.pwd}" >>> url="${tomcat.dev.url}" >>> /> >>> </target> >>> >>> >>> On Mon, Aug 6, 2012 at 11:04 AM, Pedro Perez <guerr...@gmail.com> wrote: >>> >>>> Thanks for your reply ... I actually am using different Tomcat >>>> deployments for Jenkins and my other app...my difficulty was in disabling >>>> the process killer from Jenkins when Jenkins is run through Tomcat (there >>>> are lots of instructions on how to disable the process killer when Jenkins >>>> is run as a java process without Tomcat). >>>> >>>> I should look into that ANT task for deploying a webapp without >>>> stopping/starting Tomcat...I don't know much about how to set that up >>>> however. >>>> >>>> Thanks! >>>> P >>>> >>>> >>>> On Monday, August 6, 2012 9:50:04 AM UTC-7, Jeff Vincent wrote: >>>>> >>>>> I'm a relative n00b to Jenkins but if I were you, I wouldn't run your >>>>> application on the same tomcat instance. You are making your life >>>>> harder. >>>>> Why not create another instance for deploying/testing the app? You can >>>>> run multiple versions and/or instances of tomcat on different ports, run >>>>> one in a VM or on another system. >>>>> >>>>> Regardless, tomcat can undeploy/redeploy an application without >>>>> stopping. There is an ant Task for tomcat to allow deploying >>>>> applications >>>>> via the management API that do not require stopping or starting tomcat or >>>>> affecting jenkins....unless it blows up or consumes memory, in which case >>>>> it will mess up all applications running in that instance and kill your >>>>> build/test processes anyway...so again, I wouldn't do it that way. >>>>> >>>>> Also if you were using Maven to build, there is a plugin that allows >>>>> you to start a new tomcat instance for testing then shuts it down >>>>> afterward. I've not used it though. There could be something similar >>>>> for >>>>> ANT. >>>>> >>>>> On Mon, Aug 6, 2012 at 10:20 AM, Pedro Perez <guerr...@gmail.com>wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> I'm new to Jenkins and so far I love it...but I have an issue >>>>>> integrating with Tomcat. I have Jenkins stopping and starting Tomcat via >>>>>> ant script. However I've found that Jenkins process-killer shuts down >>>>>> tomcat for me after it's finished. I've read https://wiki.jenkins-ci. >>>>>> **org/display/JENKINS/**ProcessTreeKiller<https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller> >>>>>> and >>>>>> have tried to disable it, however I run Jenkins through Tomcat, and I'm >>>>>> not >>>>>> sure how to disable the process killer when Jenkins is run as a simple >>>>>> web >>>>>> app on Tomcat 7. I tried to simply override the BUILD_ID variable like >>>>>> this: >>>>>> >>>>>> $BUILD_ID=dontKillMe >>>>>> >>>>>> to no avail. Even if that worked though, I'm wondering if there is a >>>>>> "cleaner" solution to starting and stopping Tomcat with Jenkins. When >>>>>> using >>>>>> ANT to start/stop it usually works, but not 100% every time. I've read >>>>>> about a tomcat plugin for Jenkins, but I think it doesn't stop/start >>>>>> Tomcat >>>>>> in the order I need it...basically my build script does a code checkout, >>>>>> compile, stop tomcat, replace war, start tomcat, run tests against newly >>>>>> deployed web app. >>>>>> >>>>>> Does anybody know the "correct" way to interact with Tomcat and >>>>>> Jenkins? >>>>>> >>>>>> Thanks >>>>>> Pedro >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Jeff Vincent >>>>> predato...@gmail.com >>>>> See my LinkedIn profile at: >>>>> http://www.linkedin.com/in/**rjeffreyvincent<http://www.linkedin.com/in/rjeffreyvincent> >>>>> I ♥ DropBox <http://db.tt/9O6LfBX> !! >>>>> >>>>> >>> >>> >>> -- >>> Jeff Vincent >>> predato...@gmail.com >>> See my LinkedIn profile at: >>> http://www.linkedin.com/in/rjeffreyvincent >>> I ♥ DropBox <http://db.tt/9O6LfBX> !! >>> >>> > > > -- > Jeff Vincent > predato...@gmail.com > See my LinkedIn profile at: > http://www.linkedin.com/in/rjeffreyvincent > I ♥ DropBox <http://db.tt/9O6LfBX> !! > >