2010-12-02 9 views
1

現在のクライアントでは、継続的な統合にCruiseControl.Netを使用しています。 MSBuildを使用してウェブサイトプロジェクトを構築しています。MSBuildまたはCCNetを使用した画像/ファイルのバイナリ比較

私が実行した問題は次のとおりです。すべてのリリースで、すべてのコードと関連するDLLを移動したいと考えています。しかし、変更されていない数百万メガ(時には)のファイルとイメージもあります。 CC.Netの世界では、これらをおそらくサイト用と静的コンテンツ用の2つの異なるビルドに分割します。

MSBuildまたはCCNetプラグインを知っている人なら誰でも静的コンテンツのバイナリ差分を行うことができますか?イメージが変更されたか、追加されたかどうかを知りたいのですが、のみをパッケージ化してQA環境にプッシュしてください。

答えて

0

私はsvnログとMsBuildタスクでそれを行いました。

ウェブサイトをデプロイするたびに、私はリビジョン番号(基本的にはフラットファイル)をどこかに保存します。 次に、次のビルド - デプロイ時に、svnログを実行して、最新リリースと現在の差分を表示します。その後、私のMsBuildタスクはsvn log xml出力を受け取り、それを解析して、追加/変更/削除された興味深い静的ファイルを別のファイルに出力します。 その後、通常のタスクが実行され、すべてのファイルではなく、変更されたファイルのみが処理されます。

これは大変な仕事でした(とりわけ内部ロジックがあります:私たちの "静的な"コンテンツは各環境、各パートナー、各テーマごとに動的に生成されます)が、それは価値がありました。

どちらの方法でも、ChecksumCopyを使用することはできますが、安価かどうかはわかりません。

関連する問題