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?

回答你的问题

  1. Tomcat 7 部署插件也可用于 Tomcat 8 和 9 部署,它将 100%。
  2. 必须在 tomcat-users.xml 文件中设置分配角色的身份验证参数 (%TOMCAT8_PATH%/conf/tomcat-users.xml)
  3. 以下示例代码可用于在 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>
    
  4. 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>
    
  5. 使用 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>
    
  6. 部署到 tomcat 可以根据需要执行这些目标中的任何一个。
    mvn tomcat7:deploy
    mvn tomcat7:undeploy
    mvn tomcat7:redeploy

  7. 此外,对于更详细的日志记录,您可以在 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