Jenkins 将 war 文件部署到 Tomcat 8 [英] Jenkins deploy war file to Tomcat 8
问题描述
我在装有 Tomcat 8 的同一台服务器上运行 Jenkins 1.6(并尝试使用 Jenkins 2.0).我需要将 Maven 多模块应用程序部署到 Tomcat webapp.它有两个来自必须部署的子模块的战争文件.Deploy插件最多支持7个Tomcat,运行正常.但是,问题是我需要使用 Tomcat 8,因为我的 Web 应用程序不能在 Tomcat 7 上运行.是否可以将 Jenkins 的 war 文件部署到 Tomcat 8?
I'm running Jenkins 1.6 (and also tried with Jenkins 2.0) on the same server where I have Tomcat 8. I need to deploy Maven multimodule application to Tomcat webapp. It has two war files from submodules that has to be deployed. Deploy plugin supports Tomcat up to 7, and it's work fine. However, the problem is that I need to use Tomcat 8, since my web application is not working on Tomcat 7. Is it possible to deploy war files from Jenkins to Tomcat 8?
推荐答案
回答你的问题
- Tomcat 7 部署插件也可用于 Tomcat 8 和 9 部署,它将 100% 工作.
- 必须在 tomcat-users.xml 文件 (%TOMCAT8_PATH%/conf/tomcat-users.xml) 中设置分配角色的身份验证参数
以下示例代码可用于在 tomcat8 容器中设置基于角色的身份验证.
- Tomcat 7 deploy plugin can be used for Tomcat 8 and 9 deployment also, It will work 100%.
- Have to set authentication parameters with roles assigned should be set in tomcat-users.xml file (%TOMCAT8_PATH%/conf/tomcat-users.xml)
Below sample code can be used for setting role based authentication in 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>
对于 Maven 身份验证在此路径 %MAVEN_PATH%/conf/settings.xml
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>
使用 Tomcat 7 Maven 插件(也可用于 Tomcat 8 部署)
<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>
部署到 tomcat 可以根据需要执行任何这些目标.
mvn tomcat7:部署
mvn tomcat7:取消部署
mvn tomcat7:重新部署
Deploy to tomcat can be performed any of these goals on need basis.
mvn tomcat7:deploy
mvn tomcat7:undeploy
mvn tomcat7:redeploy
此外,要获得更详细的日志记录,您可以在 logging.properties 文件 %Tomcat_path%/conf/logging.properties 中启用 java.util.logging.ConsoleHandler.
Also, for more detailed logging you can enable java.util.logging.ConsoleHandler in logging.properties file %Tomcat_path%/conf/logging.properties.
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
这篇关于Jenkins 将 war 文件部署到 Tomcat 8的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!