maven-release-plugin を使用して非オリジンにタグ付けしてコミットする
-
26-09-2019 - |
質問
プロジェクトをリリースするときは、通常の開発時よりも幅広い人々とソースを共有したいと考えています。コードは Git リポジトリ経由で共有されます。これを行うために、次のものを使用しました。
- リモートパブリックリポジトリ - リリースされたコードは毎週ここにプッシュされます (http://example.com/public)
- リモートのプライベート リポジトリ - 非リリース コードが毎日ここにプッシュされます (http://example.com/private)
私のローカル git リポジトリでは、次のリモートが定義されています。
origin http://example.com/private
public http://example.com/public
現在、ビルドのバージョン管理を管理し、コードのタグ付けとパブリックリポジトリへのプッシュを管理するように maven-release-plugin を構成しようとしています。pom.xml では、次のように <scm/> をリストしました。
<scm><connection>scm:git:http://example.com/public</connection></scm>
(この行を削除すると、mvn release:prepare が失敗します)
ただし、電話をかけるときは、
mvn release:clean release:prepare release:perform
Maven が呼び出す
git push origin tagname
POM で指定された URL にプッシュするのではなく、
したがって、質問は次のとおりです。
- ベストプラクティス:プライベート リポジトリ (オリジン) でタグ付けしてコミットし、手動でパブリックにプッシュするだけでよいでしょうか?
- Maven をデフォルトのオリジンではなく、選択したリポジトリにプッシュさせることはできますか?これは、<scm/> の <connection/> 要素の要件によって暗示されているように感じました。
解決
scm.connectionリポジトリはバージョンのMaven放出-プラグイン(または関連するgitのプラグイン)を2.0に固定されている原点に異なる場合解放。このバージョンに変更するには、私は私のPOMに次を追加します:
<project>
...
<build>
<plugins>
...
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
</plugin>
...
</plugins>
</build>
...
</project>
ちなみに、Mavenは2.0より新しいものとしてMavenをリリース - プラグインのバージョン2.0ベータ-9を拾った。
所属していません StackOverflow