2017-08-31 28 views
0

私はJenkinsでオートメーションテストを実行する前にモックサーバーを起動し、テストを実行した後にモックサーバーを停止する必要があります。Maven Executionを停止する方法

このモックサーバーは、mavenプロジェクトで、exec-maven-pluginを使用しています。私はmvn exec:javaというコマンドを実行してこのサーバを起動することができます。しかし私はジェンキンスを通じてこのプロジェクトをやめることができません。私はそれについて読んだことがあり、ほとんどの答えはこのMavenプロジェクトのプロセスIDを見つけてそれを殺すように指示します。このプロジェクトをよりクリーンで簡単に止める方法はありますか?

答えて

0

メンバのライフサイクルの一部であるgoalsを使用してサーバーを起動および停止する必要があります。

この問題の鍵は、あなたがPROCESSIDを知らないことを確かにあるthis answer

<plugin> 
     <groupId>org.apache.tomcat.maven</groupId> 
     <artifactId>tomcat7-maven-plugin</artifactId> 
     <version>2.1</version> 
     <executions> 
      <execution> 
      <id>tomcat-run</id> 
      <goals> 
       <goal>run-war-only</goal> 
      </goals> 
      <phase>pre-integration-test</phase> 
       <configuration> 

        <fork>true</fork> 
       </configuration> 

      </execution> 
      <execution> 
      <id>tomcat-shutdown</id> 
      <goals> 
       <goal>shutdown</goal> 
      </goals> 
      <phase>post-integration-test</phase> 
      </execution> 
     </executions> 
     </plugin> 
0

から取られた例。 asyncの代わりにexec:execを使用することを検討してください。 asyncDestroyOnShutdownがデフォルトでtrueに設定されていることがわかります。つまり、Mavenがシャットダウンするとシャットダウンします。

関連する問題