0

基本的な質問

Jenkinsを使用してJava githubコードのパッチを適用したフォークをmavenでローカルにビルドし、それをArtifactory(または同等のリポジトリマネージャー)に公開できるようにしたいと考えています。これを行うためのパターンはありますか?プロジェクトをビルドし、他の誰かの POM を使用して公開する方法はありますが、バージョン番号と SCM の詳細にパッチを適用する方法はありますか?

バックグラウンド

私の会社には、外部 Java モジュールに依存する Java プロジェクトがあります。Artifactory を使用して依存関係を管理し、これを行います。ここでは問題ありません。

ただし、外部 Java モジュール (「CoolFramework 1.0」と呼び、そのソースは GitHub で自由に入手できるとしましょう) にコード変更 (バグ修正または拡張) を加えたい場合があります。そのため、リポジトリをフォークし、コードを変更してプル リクエストを発行します。しばらくして、CoolFramework プロジェクトの所有者は、私のバグ修正またはピカピカの新機能を含むプロジェクトのバージョン 1.1 をリリースすることを決定しました。

私が持っている質問は、その間の時間に関するものです。明らかに、バグ修正や機能拡張を開発したらすぐにプロジェクトに適用できるようにしたいと考えています。それらを一種のスナップショット リリースとして Artifactory にプッシュしたいと思います (おそらく、cool-framework-1.0-MYCOMPANY-1 としてバージョン付けされ、最後の「-1」は Jenkins のビルド番号またはその他の一意の参照を表します)。ただし、maven が行うすべてのリリース管理作業は、SNAPSHOT の公開または最終リリースのプッシュに関連しているようで、この中間プロセスを処理していません (当然のことです)。

これを行うための一般的なプロセスはありますか?Google さんは私にぴったりの質問を見つけられませんでしたが、私は彼に正しい質問をしていない可能性があります。

4

1 に答える 1

1

あなたが抱えている正確な問題はわかりません。バージョン管理について話している場合、これは通常のアプローチだと思います。バージョンをインクリメントして修飾子を追加するだけで、ベンダー バージョンがリリースされるまで maven がそれを選択します。したがって、ベンダーのコード 1.0 を分岐し、そのバージョンを 1.1-MYCOMPANY.1 に変更し、最後の番号をインクリメントして開発します。また、マージ リクエストをベンダーに発行します。その後、ベンダーは準備が整い、1.1 をリリースし、修飾子に取って代わります。ベンダーによってまだ何かが不足していることが判明した場合は、次のバージョン 1.2-MYCOMPANY.1 を出荷します。

于 2013-08-02T18:16:48.373 に答える