Jenkins Deploys War File In Tomcat 8

I am running Jenkins 1.6 (and also tried with Jenkins 2.0) on the same server where I have Tomcat 8. I need to deploy the Maven multimodule application for Tomcat webapp. It has two military files from submodules that need to be deployed. Deploying the plugin supports Tomcat up to 7 and it works great. However, the problem is that I need to use Tomcat 8, since my web application does not work on Tomcat 7. Can I deploy military files from Jenkins to Tomcat 8?

+8
jenkins jenkins-plugins tomcat8
May 22 '16 at 5:36
source share
2 answers

Answer your question

  • The Tomcat 7 deployment module can also be used to deploy Tomcat 8 and 9, it will work 100%.
  • It is necessary to set authentication parameters with assigned roles, it must be set in the tomcat-users.xml file (% TOMCAT8_PATH% / conf / tomcat-users.xml)
  • The following code example can be used to set role-based authentication in a tomcat8 container.

    <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="admin" password="password" roles="manager-gui,manager-script" /> </tomcat-users> 
  • For Maven authentication in this path,% MAVEN_PATH% / conf / settings.xml

      <?xml version="1.0" encoding="UTF-8"?> <settings ...> <servers> <server> <id>TomcatServer</id> <username>admin</username> <password>password</password> </server> </servers> </settings> 
  • Using Tomcat 7 Maven Plugin (can be used for Tomcat 8 deployments )

      <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8080/manager/text</url> <server>TomcatServer</server> <path>/yourappcontextpath</path> </configuration> </plugin> 
  • Deploy to tomcat can accomplish any of these goals as needed.
    mvn tomcat7: deployment
    mvn tomcat7: undeploy
    mvn tomcat7: relocate

  • Additionally, for more detailed logging, you can enable java.util.logging.ConsoleHandler in the logging.properties% Tomcat_path% / conf / logging.properties file.

      org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = java.util.logging.ConsoleHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = java.util.logging.ConsoleHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = java.util.logging.ConsoleHandler 
+16
May 23 '16 at 7:25
source share

This does not work for me. I get the following error:

 ERROR: Build step failed with exception org.codehaus.cargo.container.ContainerException: Failed to redeploy [C:\Program Files (x86)\Jenkins\workspace\launchbi-admin deploy to qa\launchbi-admin\target\launchbi-admin-1.0.0-SNAPSHOT.war] at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:188) at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117) at hudson.FilePath.act(FilePath.java:998) at hudson.FilePath.act(FilePath.java:976) at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114) at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93) at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:736) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:682) at hudson.model.Build$BuildExecution.post2(Build.java:186) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:627) at hudson.model.Run.execute(Run.java:1749) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:421) Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:704) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173) ... 17 more Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.168.1.198:8088/manager/text/list at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571) ... 20 more org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:704) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173) at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117) at hudson.FilePath.act(FilePath.java:998) at hudson.FilePath.act(FilePath.java:976) at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114) at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93) at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:736) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:682) at hudson.model.Build$BuildExecution.post2(Build.java:186) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:627) at hudson.model.Run.execute(Run.java:1749) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:421) Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.168.1.198:8088/manager/text/list at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571) ... 20 more 

I am running Jenkins version 2.84 with Deploy to container version 1.13. Tomcat 8 Version 8.5.16

0
Oct 24 '17 at 17:16
source share



All Articles