いいえ、生成された最小化されたバージョンをソース管理下に置く必要はありません。
生成されたファイルをソース管理 (TFS) に追加するときに問題が発生しました。これは、TFS がローカル ファイルを読み取り専用に設定する方法が原因です。ビルド プロセスの一部としてファイルを生成するツールでは、書き込みアクセスの問題が発生します (これは、おそらく他のバージョン管理システムでは問題になりません)。
しかし、重要なことは、次のすべてです。
- ツール
- スクリプト
- ソースコード
- 資力
- サードパーティ ライブラリ
また、製品のビルド、テスト、デプロイに必要なものはすべて、バージョン管理下にある必要があります。
ソース管理から特定のバージョンを (タグまたはリビジョン番号または同等の方法で) チェックアウトし、その時点とまったく同じようにソフトウェアを再作成できるはずです。「新鮮な」マシンでも。
ビルドは、ソース管理下にないものに依存するべきではありません。
スクリプト: Ant、make、MSBuild コマンド ファイルなど、使用しているすべてのビルド スクリプトと、ビルド マシンだけでなく、バージョン管理下にある必要がある展開スクリプト。
ツール: これは、コンパイラ、最小化ツール、テスト フレームワーク (ビルド、テスト、デプロイ スクリプトが機能するために必要なすべてのもの) がソース管理下にある必要があることを意味します。特定の時点まで再作成するには、これらのツールの正確なバージョンが必要です。
「Continuous Delivery」という本は、私にこの教訓を教えてくれました - 私はそれを強くお勧めします。
私はこれが素晴らしいアイデアだと信じており、可能な限りそれに固執していますが、100% 確実ではない領域がいくつかあります。たとえば、オペレーティング システム、Java JDK、および継続的インテグレーション ツール (Jenkins を使用しています)。
継続的インテグレーションを実践していますか? 上記のすべてが制御されていることをテストする良い方法です。ソフトウェアをビルドする前に継続的インテグレーション マシンに手動でインストールする必要がある場合は、おそらく何か問題があります。