12

内部でmaven-release-plugin 2.3.2を呼び出すJenkins内からM2リリースプラグインを使用していますが、ビルド中にこのエラーがスローされます: . 問題は、私のプロジェクトの pomのバージョンが 1.0.0-SNAPSHOT であることです。何が欠けていますか?You don't have a SNAPSHOT project in the reactor projects list

com.abc.defですcompany parent POM、そして私はちょうどのためにやっていmvn releaseますutils

<modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.abc</groupId>
        <artifactId>def</artifactId>
        <version>1.0.0</version>
    </parent>

    <groupId>com.abc.def</groupId>
    <artifactId>utils</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>utils</name>

そして、はい、私は基本的な Google + SO トロールを実行しましたが、どこでも、POM がバージョンとして SNAPSHOT を持っている必要があることを示しています。これは既にそこにあります。私の会社の親POMがスナップショットではないことを除いて。それが理由でしょうか?

4

5 に答える 5

14

私は同じ問題を抱えていましたが、これらの解決策はうまくいきませんでした。Tomek Kaczanowski によるこのブログ投稿は、頭に釘を打ちました。

多くの場合、Jenkins SVN 戦略が「可能な限り svn update を使用する」ように設定されていることが原因で、ビルド間でビルド ワークスペースがクリーンアップされません。

リリースをカットしようとすると、Jenkins は pom を更新し、いくつかの一時ファイルを作成します。リリースが失敗した場合、これらの pom の更新と一時ファイルはクリーンアップされません。そのため、pom を修正して再構築しようとすると、You don't have a SNAPSHOT project in the reactor projects listこれらのファンキーなワークスペース アーティファクトが Jenkins を混乱させるため、エラーが発生します。

解決策は、Jenkins SVN 戦略を変更することです。次のいずれかが機能するはずです。

  • 常に新しいコピーをチェックしてください
  • 最初にバージョン管理されていない/無視されたファイルを削除してから、「svn update」を実行して、クリーン チェックアウトをエミュレートします
  • 可能な限り svn update を使用し、更新前に「svn revert」を使用します

また、最初からやり直すために、Jenkins ワークスペースを空にすることをお勧めします。

于 2013-06-21T15:15:36.020 に答える
5

マスターも同様pomである必要はありませんSNAPSHOT(私の会社では同じ設定で問題なく動作します)。のこの部分はutils pom、私が知る限り問題ありません。

<scm>
    <developerConnection>scm:${release-scm}</developerConnection>
</scm>

もちろん、maven release pluginあなたのビルド定義のセクションPOM?(私が知っているロングショット)

于 2012-11-22T15:14:40.660 に答える
4

「SNAPSHOT」という用語のスペルの問題を時々見つけましたが、これも基本的に同じエラーにつながります。お気に入り:

 1. SNAPSOT
 2. SNASHOT
 3. SHNAPSOT

;-) したがって、これを事前に確認する価値があります。

修正のためのクールは、親ポンで使用することです:

versions:set
于 2013-06-25T19:39:11.920 に答える
3

実際、Jenkis のワークスペースには、いくつかのモジュールの古い非 SNAPSHOT バージョンが含まれています。ワークスペースをワイプアウト (= クリーンアップしてクリアする) してから、再度リリースを実行すると、接尾辞 -SNAPSHOT が付いた修正バージョンが取得されます。

于 2013-05-24T18:27:21.000 に答える
2

理由を見つけました:最新の会社の親POMは取り上げられていませんでした

  1. 引数リストにclean-U両方がありました。mvn動作しませんでした
  2. ~/.m2次に、リポジトリをクリーンアップしました。動作しませんでした

うまくいったのは、ジェンキンスで

  1. ページにJob config移動
  2. に移動しBuild、クリックAdvanced
  3. チェックボックスをオンにしますUse private Maven repository
  4. を選択しLocal to the workspaceます。Save

これは、Maven が何らかの理由で行う習慣がある奇妙なことの 1 つであることを私は知っています。そしていつものように、エラーは十分に有益/直感的ではありません。

于 2012-11-27T11:08:22.170 に答える