0

新しいgitブランチを自動的に取得してビルドするcruisecontrol用のプラグインはありますか? これは私がやりたいことです: http://entagen.github.com/jenkins-build-per-branch/

4

1 に答える 1

4

私が認識しているプラ​​グインはありませんが、私たちは自分でプロセスを手作業でロールしました。git の代わりに mercurial を使用しますが、この基本的なプロセスを使用してこれを行います。

  1. ChangeGroup イベントが発生したときに起動するカスタム実行可能ファイルを作成しました。git の場合、使用できる post-receive フックがあるようです。

  2. この実行可能ファイルは、プッシュされたばかりの一連の変更をmercurialに要求し、それらを解析して、影響を受けたリポジトリとブランチを確認します.

  3. 新しいブランチごとに、そのリポジトリ用に設定したテンプレートを見つけ、新しいブランチ情報でテンプレートをフォーマットし、それをファイル「ccnethg.config」に追加します。次に、メインの構成ファイル (ccnet.config) にアクセスして、クルーズ コントロールがプロジェクトをリロードします。

  4. メイン構成ファイル (ccnet.config) は、次の便利な xml トリックを使用してこのファイルを参照するように設定されています。

    この部分は ccnet.config の先頭にあります:

<!DOCTYPE クルーズコントロール[

   <!ENTITY hgproject SYSTEM "file:ccnethg.config">

]>

次に、プロジェクトを定義するメイン構成にこの部分を追加します

&hgproject;

最後のポイントがうまくいかなかった場合のために、ここにそれを説明するドキュメントがあります。セクション ccnet.config ファイルの分割を参照してください: http://build.sharpdevelop.net/ccnet/doc/CCNET/Multiple%20Projects.html

ファイルにブランチ ビルドしかない場合、ビルドをファイルに追加/削除するときにプログラムで処理する方が簡単なので、別のファイルに分割しました。

ご希望があれば詳細をお伝えできます。

于 2012-08-01T14:49:59.177 に答える