CruiseControl を使用した自動ビルド システムがあります。使用するバージョン文字列を取得するために SvnRevisionLabeller を使用しています。この文字列を使用すると、nant を使用して AssemblyInfo.cs を更新できるため、ビルド時に正しいビルド文字列が含まれます。この CC ラベルを使用して、Subversion リポジトリにタグを付けることもできます。
すべてが揃っているので、
CCNet ビルド ラベル
- 実行可能ファイル (アセンブリ情報)
- バージョン管理 (サブバージョン タグ)
ここで問題が発生するのは、リポジトリから古いイメージを再構築しようとする場合です。AssemblyInfo.cs はバージョン管理下ではなく、生成されたファイルであるため、ビルドしようとすると、バージョン管理情報は、このバージョンのリポジトリが CruiseControl を使用してビルドされたときと同じにはなりません。CC ビルド中にビルドされたか、後日 Subversion からチェックアウトしたときにビルドされたかに関係なく、まったく同じイメージを生成できるようにしたいと考えています。
多くの場合、推奨されないことはわかっていますが、svn チェックアウトから後でビルドするときに正しいバージョン情報が使用されるように、ビルドごとに assemblyInfo.cs ファイルをチェックインする必要がありますか?
ありがとう、リアム