1

私はmaven-release-plugin2.3.2を使用しており、次のことができprepare and perform releaseます。問題はこれです。

SVNリポジトリ: http://svnserver:8080/myrepo/test/projectA

Project A         
   |
    branches/
    tags/
    trunk/

mvn release:perform初めて行うときは、tags/フォルダー内にこの構造を作成します

branches/
tags/
   |
    ProjectA_1.0.0
        | 
        branches/ <structure from the parent branches/ folder>
        tags/
        trunk/

2回目に行うとmvn release:perform、これが出力になります

branches/
tags/
   |
    ProjectA_1.0.0
        | 
        branches/<structure from the parent branches/ folder>
        tags/
        trunk/
    ProjectA_1.0.1
        | 
        branches/<structure from the parent branches/ folder>
        tags/ProjectA_1.0.0/branches/<structure from the parent branches/ folder>
        tags/ProjectA_1.0.0/tags/
        tags/ProjectA_1.0.0/trunk
        trunk/

など...再帰的な悪夢が発生するまで、1.0.1全体が1.0.2内にコピーされます:)

Nexusの<releases>リポジトリに移動すると、すべて問題なく、次のようなクリーンなディレクトリが表示されます。

1.0.0
1.0.1
1.0.2

それらの中に正しいアーティファクトがあります。


コマンドラインで直接プラグインを使用して、M2リリースプラグインを使用してJenkinsからこれをテストしました。同じ結果。これは、どこから、どのように、どこから呼び出しているのかではなく、どこかで間違った構成の方向を示しています。


scmプラグインまたはタグで何が間違っていますか?

4

1 に答える 1

4

リリースするプロジェクトのトランクを定義し、それをpom.xmlのscm領域に構成する必要があります。

これは、次のことを定義することを意味します。

<scm>
  <connection>scm:svn:http://svnserver:8080/myrepo/test/projectA/trunk</connection>
  <developerConnection>scm:svn:http://svnserver:8080/myrepo/test/projectA/trunk</developerConnection>
</scm>

マルチモジュールビルドを使用している場合は、それを親でのみ定義し、子では定義しない必要があります。

于 2012-12-10T11:05:13.587 に答える