1

異なる git リポジトリに A、B、C の Maven プロジェクトがあります。C は A と B に依存しています。プロジェクトを個別にビルドする Jenkins ジョブがあります。でもリリース用のチェーンを作りたいです。例: プロジェクト A がリリースされた後、プロジェクト C の依存関係のバージョンを変更してリポジトリにコミットすると、プロジェクト C の新しいリリースもトリガーされます。プロジェクト B がリリースされた場合は、同じことを行います。プロジェクト C を更新し、コミットしてリリースします。この依存バージョンを更新してgitにコミットするJenkinsのプラグインを知っていますか?

ありがとう!

4

3 に答える 3

0

複数のプラグインを使用することをお勧めします。それぞれに独自の強みがあります。

  • 単純な一連のジョブを指定するジョブ DSL プラグイン。それに多くのロジックを追加しないでください。さらに、ダウンストリーム ジョブのフォーク/ジョインを時折追加しないでください。
  • これらの複雑なビルド フロー用のビルド フロー プラグイン。Groovy は、複雑なステップを定義するのに最適です。
  • Delivery Pipeline PluginBuild Pipeline Pluginを組み合わせて、継続的な統合/デリバリー パイプラインを表示します。ダウンストリーム/アップストリームのジョブを非常にきれいに集約できます。

Job DSL Pluginが実際にどれほど強力であるかについての具体的なデモンストレーションについては、この投稿をお読みください。それは私を啓発しました!:) 納入パイプラインの例

@Jcsが提案したように、Build FlowDSL Pluginを使用することもできますが、安定性が低く、一部のコア機能はCloudbees Entrerpriseユーザーのみが利用できます。

于 2015-07-09T22:23:17.993 に答える
0

4、5年前も同じような制約がありました。多くの場合、約 10 個のプロジェクトをリリースする必要がありました。同じリポジトリの制約はありませんでしたが、これらのプロジェクトにマルチモジュールを使用できませんでした。

Java で「リリース パイプラインまたはオーケストレータ」を構築することになります。

構成ファイルで、各プロジェクトの予想リリース バージョン番号と次のビルド バージョン番号を指定していました。プロジェクトのリリースが Nexus に存在しない場合、私はプロジェクトをリリースし、依存関係のバージョン番号を (プロパティを使用して) 更新していました。

このプロジェクトは、zip ファイルにパッケージ化され、QA チームに (アセンブリ Maven プラグインを使用して) 配信されました。

次の仕事の割り当てでは、同じようなニーズはありませんでした。現在機能しているプラ​​グインがあれば、喜んでお知らせします。

于 2013-10-11T13:19:17.250 に答える
0

Build Flow Pluginはまさにあなたが探しているものだと思います。新しいジョブ タイプと、他のジョブがトリガーされるタイミングと方法を構成できる DSL を提供します。

于 2013-10-11T16:33:41.437 に答える