一尘不染

Jenkins将War文件部署到Tomcat 8

jenkins

我在装有Tomcat 8的同一服务器上运行Jenkins 1.6(并且也尝试使用Jenkins 2.0)。我需要将Maven多模块应用程序部署到Tomcat
Web应用程序。它有两个必须部署的子模块中的war文件。Deploy插件最多支持Tomcat 7,并且工作正常。但是,问题是我需要使用Tomcat
8,因为我的Web应用程序无法在Tomcat 7上运行。是否可以将War文件从Jenkins部署到Tomcat 8?


阅读 334

收藏
2020-07-25

共1个答案

一尘不染

回答你的问题

  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. 对于 此路径中的 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>
    
  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:部署
    mvn tomcat7:取消部署
    mvn tomcat7:重新部署

  7. 另外,对于更详细的日志记录,您可以在logging.properties文件%Tomcat_path%/ conf / logging.properties中启用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
    
2020-07-25