7

10分ごとの標準ポーリングスキームを使用した継続的インテグレーションにジェンキンを使用していますが、正常に機能します。

ここで、再現のすべてのリビジョンで実行されるジョブを設定したいと思います。それは、特定のコミットに対応する多かれ少なかれバイナリ パッチである何かを生成します。

私が見つけた唯一の方法は、svnserver でポストコミット フックを使用して、jenkins サーバーでジョブをキューに入れることですが、ファイアウォールに新しい穴が必要になるため、そうしないほうがよいでしょう (そして、 jenkins は、キューに入れられたすべてのジョブを 1 つにまとめます)。

4

1 に答える 1

4

私はこれを自分で試したことはありませんが、別のビルドを使用して subversions ビルドをトリガーできる場合があります。

たとえば、Subversion リポジトリから 10 分ごとに標準のポーリングを行うビルドをセットアップできます。次に、このビルドで、前回以降に発生したすべての新しいリビジョン番号を決定します。次に、複数のパラメーター化されたビルド (リビジョンごとに 1 つ) をキューに入れます。

これを行うにはさまざまな方法がありますが、私がそれを行う場合、おそらくマスター ビルドで Python ビルド ステップを使用してすべてのリビジョンを計算し、パラメータ化されたトリガー プラグインを使用してセカンダリ ビルドをキューに入れます。

複数のビルドをキューに入れることができるプラグインを私は知らないので、この最後のステップは少し面倒かもしれません。これは強引ですが、一連のビルド変数 (SVN_REV_1、SVN_REV_2、...) を設定してから、いくつかのトリガー (潜在的な変数ごとに 1 つ) を設定できます。新しいリビジョンとしてこれまでに作成したものよりも多くのものを持っている限り、問題はありません。(注:これを行うより良い方法があるかもしれません)

それらを見逃さないようにするために、毎分実行するようにポーリングを増やすことをお勧めします。ここで、ビルドの 1 つに対して同様のことを行いますが、ポーリングの負荷が問題になることはありません。

于 2011-12-23T14:31:36.860 に答える