Jenkins 将 war 文件部署到 Tomcat 8
Jenkins deploy war file to Tomcat 8
我是 运行 Jenkins 1.6(也尝试过 Jenkins 2.0)在我拥有 Tomcat 的同一台服务器上 8. 我需要将 Maven 多模块应用程序部署到 Tomcat网络应用程序。它有两个来自必须部署的子模块的 war 文件。
Deploy 插件最多支持 Tomcat 7 个,并且工作正常。但是,问题是我需要使用 Tomcat 8,因为我的 Web 应用程序无法在 Tomcat 7 上运行。
是否可以将 war 个文件从 Jenkins 部署到 Tomcat 8?
回答你的问题
- Tomcat 7 部署插件也可用于 Tomcat 8 和 9 部署,它将 100%。
- 必须在 tomcat-users.xml 文件中设置分配角色的身份验证参数 (%TOMCAT8_PATH%/conf/tomcat-users.xml)
以下示例代码可用于在 tomcat8 容器中设置基于角色的身份验证。
<?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 在此路径 %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:deploy
mvn tomcat7:undeploy
mvn tomcat7:redeploy
此外,对于更详细的日志记录,您可以在 logging.properties 文件 %Tomcat_path%/conf/logging.properties.[=14= 中启用 java.util.logging.ConsoleHandler ]
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 1.6(也尝试过 Jenkins 2.0)在我拥有 Tomcat 的同一台服务器上 8. 我需要将 Maven 多模块应用程序部署到 Tomcat网络应用程序。它有两个来自必须部署的子模块的 war 文件。 Deploy 插件最多支持 Tomcat 7 个,并且工作正常。但是,问题是我需要使用 Tomcat 8,因为我的 Web 应用程序无法在 Tomcat 7 上运行。 是否可以将 war 个文件从 Jenkins 部署到 Tomcat 8?
回答你的问题
- Tomcat 7 部署插件也可用于 Tomcat 8 和 9 部署,它将 100%。
- 必须在 tomcat-users.xml 文件中设置分配角色的身份验证参数 (%TOMCAT8_PATH%/conf/tomcat-users.xml)
以下示例代码可用于在 tomcat8 容器中设置基于角色的身份验证。
<?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 在此路径 %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:deploy
mvn tomcat7:undeploy
mvn tomcat7:redeploy此外,对于更详细的日志记录,您可以在 logging.properties 文件 %Tomcat_path%/conf/logging.properties.[=14= 中启用 java.util.logging.ConsoleHandler ]
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