我正在同一台服务器上运行Jenkins 1.6(也尝试了Jenkins 2.0),并且在该服务器上安装了Tomcat 8。我需要将Maven多模块应用程序部署到Tomcat webapp中,其中有两个子模块的war文件需要部署。 Deploy插件支持Tomcat的版本最高为7,并且它可以正常工作。但是问题是我需要使用Tomcat 8,因为我的Web应用程序无法在Tomcat 7上运行。 是否可能从Jenkins将war文件部署到Tomcat 8?
我正在同一台服务器上运行Jenkins 1.6(也尝试了Jenkins 2.0),并且在该服务器上安装了Tomcat 8。我需要将Maven多模块应用程序部署到Tomcat webapp中,其中有两个子模块的war文件需要部署。 Deploy插件支持Tomcat的版本最高为7,并且它可以正常工作。但是问题是我需要使用Tomcat 8,因为我的Web应用程序无法在Tomcat 7上运行。 是否可能从Jenkins将war文件部署到Tomcat 8?
回答你的问题:
下面的示例代码可用于在Tomcat 8容器中设置基于角色的授权:
<?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中进行配置。
<?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文件中启用java.util.logging.ConsoleHandler。该文件位于%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