20

Jenkins ジョブのビルド プロセスへのマッピングをどのように処理していますか?また、継承でカスケード構成を構築できましたか?

どのビルドでも、少なくとも 3 つのジョブ (標準の継続的インテグレーション/夜間、セキュリティ スキャン、カバレッジ) と、いくつかのダウンストリーム統合テスト ジョブがあります。構成スライサー プラグインはジョブをまたがるいくつかの側面を処理しますが、各ジョブは依然として、そのグループ内の他のジョブとは関係のない独自のエンティティです。

私は最近 QuickBuild を見ましたが、親ジョブがステップの標準グループを定義でき、その子ジョブがオーバーライドして特化できるジョブ継承があります。Jenkins では、ジョブのコピーがあり、何かを変更する必要があるまでは問題ありません。QuickBuild を使用すると、ジョブ間の関係により、ほとんど労力をかけずに変更を広めることができます。

私はジェンキンスでこれを処理する方法を理解しようとしています。パラメータ化されたビルド トリガー プラグインを使用して、ジョブが他のジョブを呼び出してアスペクトをオーバーライドできるようにすることができます。次に、呼び出されたジョブから呼び出し元にデータを収集します。オーバーライドできない側面があり、独自のスクリプトに Jenkins の機能を実装せざるを得ないため、Jenkins の有用性が低下するという一連の問題に遭遇するのではないかと思います。

Jenkins でのビルド ジョブの複雑さをどのように処理していますか? QuickBuild に関する重大な問題について聞いたことがありますか?

4

6 に答える 6

13

私のチームが開発し、最近オープン ソースで公開したばかりのプラグインのリリースについてお知らせしたいと思います。完全な「ジョブ間継承」を実装しています。

役立つ可能性のあるその他のリンクについては、次を参照してください。

于 2013-07-24T14:10:33.793 に答える
2

私はほとんど同じ問題を抱えていました。トランクと少なくとも 2 つのブランチに対して実行する必要がある一連のジョブがあります。ブランチはバージョンを表し、数か月ごとに新しいブランチが作成されます。手動で新しいジョブを作成することは解決策ではないため、いくつかの可能性を調べました。

1 つの可能性は、テンプレート プラグインを使用することです。これにより、特定の種類のジョブの階層を作成できます。ビルダー、パブリッシャー、および SCM 設定の継承を提供します。一部の人にとってはうまくいくかもしれませんが、私にとっては十分ではありませんでした。

次に確認したのは、ジョブ クローニング用のAnt Scriptと、彼の兄弟であるBash Scriptです。これらは本当に素晴らしいです。アイデアは、スクリプトで新しいジョブを作成し、テンプレート ジョブからすべての設定をコピーし、必要に応じて変更することです。これはスクリプトなので非常に柔軟で、多くのことができます。唯一の欠点は、これにより実際の階層が作成されないことです。そのため、テンプレート ジョブの変更は、既に複製されているジョブには反映されず、今後作成されるジョブにのみ反映されます。

これら 2 つのソリューションの欠点と利点を考えると、両方を組み合わせた方が効果的かもしれません。すべてのジョブに当てはまるいくつかの基本設定を含むテンプレート プロジェクトを作成し、bash または ant スクリプトを使用して、そのテンプレートに応じたジョブを作成します。

それが役立つことを願っています。

于 2011-11-16T07:51:52.250 に答える
1

問題の最終的な解決策は何かと尋ねられました...購入システムと何ヶ月も戦った後、Quickbuildに約4000米ドルを費やしました。約2〜3か月で、テンプレート化されたビルドシステムが導入され、非常に満足しました。会社を辞める前は、システムにいくつかの製品グループがあり、リリースプロセスも自動化されていました。

Quickbuildは素晴らしい製品でした。それは4万ドルのクラスにあるはずですが、はるかに安い価格です。Jenkinsがこれを実行できると確信していますが、Quickbuildにはこの機能が組み込まれているのに対し、少し手間がかかります。以前に製品に複雑な動作を実装し(SVN 1.0でのマージ追跡など)、後悔しました。Quickbuildは手頃な価格で、ビルドおよびテストシステムの強固な基盤を提供しました。

現在、私はBambooを使用している会社にいて、その新機能のブランチ機能がQuickbuildでできることの多くを提供することを望んでいます。

于 2012-07-18T13:37:42.630 に答える
0

私たちはquickbuildを使用しており、ほとんどの場合にうまく機能するようです。私は彼らのAPIを使ってカスタムプラグインを書くことさえできました。quickbuildに欠けている領域の1つは、ソナー統合です。ソナーチームにはJenkinsプラグインがあり、quickbuild用のプラグインはありません。

于 2013-02-08T15:45:54.470 に答える