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 <[email protected]> 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" <[email protected]> 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 <[email protected]> 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 <[email protected]>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 >>>> [email protected] >>>> 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 >> [email protected] >> See my LinkedIn profile at: >> http://www.linkedin.com/in/rjeffreyvincent >> I ♥ DropBox <http://db.tt/9O6LfBX> !! >> >> -- Jeff Vincent [email protected] See my LinkedIn profile at: http://www.linkedin.com/in/rjeffreyvincent I ♥ DropBox <http://db.tt/9O6LfBX> !!
