2017-05-17 27 views
1

私はJenkinsでCICD用のmavenリリースプラグインを使用しています。いろいろな理由で、私たちは想定しているようにスナップショットをしません。 0.1、1.0などのバージョンでマスターブランチに対してビルドを実行するようにJenkinsを設定しました。 Jenkinsを実行するたびに、リリースのバージョン番号をアップしたいと考えています。エラーYou don't have a SNAPSHOT project in the reactor projects listを得ることになったMavenリリースプラグイン - リリースプロジェクトのバージョンをバンプする方法

sh "mvn -B release:clean" 
sh "mvn -B release:prepare" 
sh "mvn -B release:perform" 

:これらは私がJenkinsfileに持っていたコマンドです。 release:prepareは常にSNAPSHOTブランチを探しているので驚くことはありません。それを回避する方法はありますか? のprepareにこのオプションが見つかりましたが、動作しませんでした。

答えて

3

参照Mavenのバージョンのプラグインを使用することができますリリース版1.0をリリースした後、1.1-SNAPSHOT(いわゆる次世代版)に変更されます。 release:performの間に、ビルド1.0のタグ付き状態はバージョンコントロールからチェックアウトされ、mvn clean deployを実行します。

mvn -B release:prepare release:perform 

そして、何かがあなたがmvn release:cleanを行うことができます間違って起こっている(ただし、手動で作成されている場合は、タグを削除する必要がある)の場合で:さらにリリースプラグインを使用して

を介して行うことができます。

あなたはそれ以外にSNAPSHOTから...動作しませんのみのリリースがあります場合は、バージョンのものである分岐ではありません...

あなたはbuild-helper-maven-pluginversions-maven-pluginを経由して、あなたが好きなものを達成することができます

mvn build-helper:parse-version versions:set \ 
-DnewVersion=\${parsedVersion.majorVersion}.\ 
    ${parsedVersion.minorVersion}. \ 
    ${parsedVersion.nextIncrementalVersion} \ 
    versions:commit 

その後、この変更をバージョン管理にコミットする必要があります(JenkinsのPipelinesを使用するのが最善です)。さらにscm-maven-plugin

mvn scm-maven-plugin:commit 
1

残念ながら、mavenリリースプラグインでは不可能です。それにはSNAPSHOTが必要です。

しかし、あなただけのプロジェクトのバージョンを更新する必要がある場合は、

がリリースプラグインはそれがバージョンを変更する場所のリリースプラグインmvn -B release:prepareを実行する前に1.0-SNAPSHOTを有することが意図されてhttp://www.mojohaus.org/versions-maven-plugin/examples/set.html

関連する問題