2017-06-16 11 views
0

Mavenのは、解釈の問題分割しますこれはすべて1行に記載されています)。ジェンキンスMavenはバージョン範囲

sh "mvn release:clean release:prepare -X 
-DcheckModificationExcludeList=pom.xml,pom.xml.versionsBackup 
-Dresume=false 
-DpreparationGoals=\'clean install -Dmaven.test.failure.ignore=true' 
-Darguments=\'-Dbuild.phase.beforeDeploy -DskipTests=true\' 
-DcompletionGoals=\'versions:update-parent -N -DallowSnapshots=true -DparentVersion=[1.8.0,1.9.0)\' 
[email protected]{project.groupId}[email protected]{project.artifactId}[email protected]{project.version}" 

Mavenは完了目標セクションの実行を開始すると、バージョン範囲を分割し、2つの別々のパラメータとして扱い、エラーで終了します。関連するログの断片:

[INFO] Executing goals 'versions:update-parent -N -DallowSnapshots=true -DparentVersion=[1.8.0,1.9.0)'... 
[DEBUG] Using ${maven.home} of: '/home/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn-3.2.5'. 
[DEBUG] Executing: /bin/sh -c cd /home/jenkins/workspace/ife-jen-maven-runner_master-6CIUKZ3STQA5HR4E2RYGZ5GBNFZPFT7UYLMWJ5EMFIBJ6ATW7RUA/appdir && /home/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn-3.2.5/bin/mvn -X -D maven.repo.local=/home/jenkins/.m2/repository -s /tmp/release-settings1714400534004224741.xml -D skipTests=true -D build.phase.beforeDeploy=true -P nexus versions:update-parent -N -DallowSnapshots=true '-DparentVersion=[1.8.0' '1.9.0)' 

[INFO] [DEBUG] === REACTOR BUILD PLAN ================================================ 
[INFO] [DEBUG] Project: my-project:pom:6.4.123-SNAPSHOT 
[INFO] [DEBUG] Tasks: [versions:update-parent, 1.9.0)] 

INFO] [ERROR] Unknown lifecycle phase "1.9.0)". You must specify a valid lifecycle phase... 

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project grin-colis: Maven execution failed, exit code: '1' -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project grin-colis: Maven execution failed, exit code: '1' 
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) 

これまでに似たような問題が発生しましたか?どうやってそれに対処しましたか?

ビルドは、Linuxドッカースレーブ上で実行されているセットアップ

(コンテナはジェンキンスによって管理されていません)。

バージョン

  • ジェンキンス2.46.1
  • パイプライン2.5
  • Mavenの統合プラグイン2.16
  • コンテナJDKのOpenJDK 1.8.0_121
  • プロジェクトで必要とされる仕事JDKのOracle JDK 6u45(Java 6の、自動インストールオプションを使用し、Jenkinsfileツールセクションで宣言)
  • Maven 3.2.5
  • 01あなたは(エスケープ)に引数を置きたいかもしれません(ポンポンで宣言された)2.4をプラグインの
  • Mavenのバージョン
+0

、私はドン '-DparentVersion =「[1.8.0 1.9.0)」' –

+0

最初のものになるかもしれませんねmaven-release-pluginを使用している場合、どうしてversion-maven-pluginを使用しているのですか?なぜあなたは 'prepareGoals'と' completionGoals'を再定義していますか?リリースプロセス中に親を更新する必要はありますか? – khmarbaise

+0

@khmarbaise私はリリースプロセス自体の作成者ではありません。私はそれをJenkinsのパイプラインに移植することになっています。できるだけ少なくすることが望ましいです。 –

答えて

0

それは犯人が最新バージョン(2.5.3だっ判明します)のmaven-release-pluginです。私はまだ新しいバージョン(2.3.x、2.4.x)が動作するかどうかをテストしていません。プロジェクトでこの設定を実行する

助け:

は、単一引用符記号を収集していない使用されている
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-release-plugin</artifactId> 
    <version>2.2.2</version> 
    <dependencies> 
     <dependency> 
      <groupId>org.apache.maven.scm</groupId> 
      <artifactId>maven-scm-provider-gitexe</artifactId> 
      <version>1.9.5</version> 
     </dependency> 
    </dependencies> 
</plugin> 
0

引用:

sh "mvn release:clean release:prepare -X 
-DcheckModificationExcludeList=pom.xml,pom.xml.versionsBackup 
-Dresume=false 
-DpreparationGoals=\'clean install -Dmaven.test.failure.ignore=true' 
-Darguments=\'-Dbuild.phase.beforeDeploy -DskipTests=true\' 
-DcompletionGoals=\'versions:update-parent -N -DallowSnapshots=true -DparentVersion=\"[1.8.0,1.9.0)\"\' 
[email protected]{project.groupId}[email protected]{project.artifactId}[email protected]{project.version}" 
+0

この形式を使用した後、 '-DcompletionGoals = 'versions:update-parent -N -DallowSnapshots = true -DparentVersion = \" [1.8.0,1.9.0] \ "''結果は '[INFO] :update-parent -N -DallowSnapshots = true -DparentVersion = "[1.8.0,1.9.0] '...コマンドラインの翻訳エラー。'エスケープされた二重引用符をエスケープされた一重引用符で置き換えた場合、シェルエラー 'Syntaxエラー: ")"予期しない " –

関連する問題