web-dev-qa-db-ja.com

JenkinsはwarファイルをTomcat 8にデプロイします

Tomcat 8がある同じサーバーでJenkins 1.6を実行しています(Jenkins 2.0でも試しました)。MavenマルチモジュールアプリケーションをTomcat webappにデプロイする必要があります。デプロイする必要があるサブモジュールの2つのwarファイルがあります。 Deployプラグインは最大7つのTomcatをサポートし、正常に機能します。ただし、問題は、WebアプリケーションがTomcat 7で動作しないため、Tomcat 8を使用する必要があることです。JenkinsからTomcat 8にwarファイルを展開することは可能ですか?

10
zoran jeremic

質問への回答

  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 Deploymentsにも使用できます)

                <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で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
    
18