2016-05-22 88 views
8

私はTomcat 8があるのと同じサーバー上でJenkins 1.6を実行しています(Jenkins 2.0も試してみました).Maven multimoduleアプリケーションをTomcat webappに展開する必要があります。それには、サブモジュールからの2つのwarファイルが配備されていなければなりません。 Deploy PluginはTomcatを7までサポートしています。ただし、WebアプリケーションがTomcat 7で動作しないため、Tomcat 8を使用する必要があるという問題があります。 JenkinsからTomcat 8にwarファイルをデプロイすることは可能ですか?JenkinsがTomcat 8にwarファイルをデプロイ

答えて

16

回答Tomcatの

  1. あなたの質問に7デプロイプラグインはまた、Tomcatの8と9の展開に使用することができ、それは100%に動作します。
  2. 割り当てられたロールを用いて認証パラメータを設定する必要がTomcatの-のUsers.xmlファイル(%TOMCAT8_PATHの%/ CONF/Tomcatの-users.xmlの)サンプルコード下
  3. に設定されるべきでは役割ベースの認証を設定するために使用することができますtomcat8コンテナ。 Mavenの認証について

       <?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_PATH%/ confに/のsettings.xmlのTomcat 7のMavenプラグインを使用し

    <?xml version="1.0" encoding="UTF-8"?> 
          <settings ...> 
           <servers> 
    
            <server> 
             <id>TomcatServer</id> 
             <username>admin</username> 
             <password>password</password> 
            </server> 
    
           </servers> 
          </settings> 
    
  5. の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アンデプロイ:より詳細なログ記録のためにあなたが%Tomcat_path%/ confにファイルlogging.propertiesでjava.util.logging.ConsoleHandlerを有効にすることができ、また

  7. を再デプロイ/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 
    
+0

コンテナプラグインを展開すると、Tomcat 9でも問題なく動作します。 – Max

0

これは私のために動作しません。

ERROR: Build step failed with exception 
org.codehaus.cargo.container.ContainerException: Failed to redeploy [C:\Program Files (x86)\Jenkins\workspace\launchbi-admin deploy to qa\launchbi-admin\target\launchbi-admin-1.0.0-SNAPSHOT.war] 
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:188) 
    at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77) 
    at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147) 
    at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117) 
    at hudson.FilePath.act(FilePath.java:998) 
    at hudson.FilePath.act(FilePath.java:976) 
    at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114) 
    at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93) 
    at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64) 
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:736) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:682) 
    at hudson.model.Build$BuildExecution.post2(Build.java:186) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:627) 
    at hudson.model.Run.execute(Run.java:1749) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:97) 
    at hudson.model.Executor.run(Executor.java:421) 
Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:704) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889) 
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173) 
    ... 17 more 
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.168.1.198:8088/manager/text/list 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571) 
    ... 20 more 
org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:704) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889) 
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173) 
    at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77) 
    at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147) 
    at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117) 
    at hudson.FilePath.act(FilePath.java:998) 
    at hudson.FilePath.act(FilePath.java:976) 
    at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114) 
    at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93) 
    at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64) 
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:736) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:682) 
    at hudson.model.Build$BuildExecution.post2(Build.java:186) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:627) 
    at hudson.model.Run.execute(Run.java:1749) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:97) 
    at hudson.model.Executor.run(Executor.java:421) 
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.168.1.198:8088/manager/text/list 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571) 
    ... 20 more 

私はJenkinsバージョン2.84をDeploy to containerバージョン1.13で実行しています。 Tomcat 8 version 8.5.16

+2

あなたの投稿は本当の答えのようには見えません。同様の質問を検索し、その回答を探してみてください。あなたが同じ質問を見つけることができない場合は、あなた自身の質問をしてその品質を気にしてください。 –

+0

@StepanNovikovが示唆しているように、これは元々の質問に対する答えよりもむしろ新しい質問です。おそらく、Tomcatのデフォルト設定に関係している可能性があります。この設定では、マネージャはlocalhost以外から配備することができません。ソリューションのためにこの記事をチェックしてくださいhttps://stackoverflow.com/questions/41675813/the-username-you-provided-is-not-allowed-to-use-the-text-based-tomcat-manager-e –

+0

お詫び申し上げます、私は 'Add Comment'の代わりに 'Add Another Answer'をクリックしました。おかげで@ゾランjeremic、あなたが提供したリンクは私の問題を修正 – Johno

関連する問題