5

CruiseControl.Net の ccnet.config ファイルを svn に保持できるようにしたいのですが、変更をチェックインすると、つまり新しいプロジェクトを追加すると、それ自体が更新されます。

このようにして、構成ファイルをソース管理下に置き、加えられた変更を追跡できます。

CruiseControl を台無しにして、手動で介入しなければならないような変更をチェックインできることはわかっていますが、一般的には、これは非常にうまく機能するように思えます。

ただし、このループはブラック ホールを作成し、世界を破壊する可能性があるようです。できれば、それを良心から遠ざけたいと思います。

何かご意見は?

4

2 に答える 2

4

私たちはほぼ正確にそれを行っており、ブラックホールは出現していません... それとも、発生して蒸発しただけなのでしょうか? :) CruiseControl.NET はそれを非常にうまく処理し、再起動する前に他のビルドが完了するまで待機します。

私たちのプロセスはもう少し複雑に聞こえます。ワークフローの簡単な概要は次のとおりです。

  • プロジェクトの "Omega" ビルド (RTM、GA、Gold など) では、新しい ccnet プロジェクトが自動的に作成されます。プロジェクトは、同時に作成されるブランチ (その名前もアセンブリ バージョンから自動的に生成される) に基づいています。
  • 新しいプロジェクトが追加され、それを参照するように ccnet.config が更新され、作業コピーが更新され、コミットされてから更新されます。

したがって、ccnet からリリース ビルドを作成するのに (最大で) 2 回のクリックが必要です。1 回のクリックでブランチと ccnet プロジェクトを作成し、次に別のクリックでリリース ブランチに対して最初のビルドを強制するか、避けられない状況を待つことができます。パッチ;-)

必要に応じて詳細をお知らせください。

于 2009-02-12T22:43:33.723 に答える
2

また、ccnet.config を手動で変更しなければならないのも好きではありませんでした。これが私がしたことです:

ccnet.config (および関連) を svn に追加しました。プロジェクト「構成」を作成し、次の部分を追加しました。

  • SourceControl ブロッ​​クを使用して構成を「Prep」ディレクトリにチェックアウトします。
  • svn にない構成ファイル (セキュリティ構成部分) を 'prep' ディレクトリにコピーします。
  • 「Prep」ディレクトリに対して CCNetValidator を実行します。
  • 構成を実際の構成の場所にチェックアウトします。

これについて私が最も気に入っているのは、構成を間違えるとビルドが失敗することですが、実際の構成はまだ更新されていません。

于 2011-09-30T04:57:58.137 に答える