質問

内部リポジトリに Maven をリリースするためにバッチタスク プラグインを使用するように Hudson を設定しています。私はそれを経由してやっています:

mvn --batch-mode release:prepare
mvn --batch-mode release:perform

私は、人々が使用した他の方法と、それらの方法の長所と短所に興味があります。また、人々が遭遇した落とし穴も。

役に立ちましたか?

解決

私はいくつかの理由のために手で常にリリースを行う傾向がありました。まず、あなたがオリジナルリリースの場所に戻って、それを行うことができるとき、それは簡単だロールバックする必要がある場合。第二に、あなたは、プロセスの一環として、すべてのスナップショットの依存関係を解決する必要があるため。

私たちの開発プロセスは修正がアップグレードを必要とするまで、私たちは、以前のリリースバージョンで、現在のビルドに外部依存を残しています。これは私がなどネクサス、Mavenを、解放していた場合、その後、私はスナップショットを見ると、それは私がオフに行くと、まずそれらを解放しなければならないことを意味することを意味します。それは、前回のリリース以降に変更されているものに基づいて変化するため、このプロセスは自動化することが本当にできません。

と、我々は(それだけでVMのSonatypeで)セットアップはのみのためにビルドの特別なマシンを持っています。これは何の環境変化は、それが誤って(JDKの変更など)のビルドに影響を与える可能性が発生しない保証するために行われます。それは常に行く準備ができますので、それはまた、それが簡単に誰もがリリースプロセスをピックアップできるようになります。

他のヒント

最近、m2release プラグインが目に留まりました。素敵に見えました。ただし、リリース プロセスは完全に「pom 調整なし」であることを望んでいました。つまり、完全なリリースを処理するには、4 つの入力パラメータを指定する必要があるということです。

  1. リリースバージョン (例:1.0.0)
  2. 新しい開発バージョン (例:1.0.1-スナップショット)
  3. SCM のリリース タグ (例:リリース-1.0.0 または 1.0.0)
  4. SCM のタグベースパス

最初の 2 つは許容可能なデフォルト値を持っています。バグ修正バージョンの桁でのバージョンのバンプは、私にとってはまったく問題ありません。

pom には数値 4 を指定できます。それは変わりません。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <configuration>
        <tagBase>https://example.com/svn/myProject/releases</tagBase>
    </configuration>
</plugin>

これは、ボタンを押すだけでリリースを完全に自動化することを妨げる 3 番目の問題です。デフォルトのリリース タグ ラベルではそれができないため、それを指定する必要があります。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <configuration>
        <tag>release-${pom.version}</tag>
        <tagBase>https://example.com/svn/myProject/releases</tagBase>
    </configuration>
</plugin>

これは私が必要としていたものかもしれませんが、最後に -SNAPSHOT を持つ svn タグが必要になります。:( したがって、Hudson ジョブ設定でタグパラメータを渡す必要があります。さらに、リリースするたびに変更しなければなりません...それはまさに私が必要とするものではありません。


したがって、最終的には、hudson に maven2 タイプのプロジェクト + m2release ハドソン プラグイン + Maven リリース プラグインを正しく設定することが、私がこれまで見てきたすべてのリリース プロセスの母となります。完璧ではありませんが、多くの面倒な作業を省くことができました。

JS.

私は常に明白な長所と短所を使って手動で解放をトリガしました: - )

私たちは、私たちのビルドファイルにパスワードをハードコーディングするような邪悪なものなしに、それが適切にリリースを信用するために取得でチャレンジビットだが、ハドソンMavenのリリースプラグインを試してきました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top