2008-08-08 8 views
5

私たちの自動ビルドマシンは、OSのバージョン番号と各ビルド時に使用されたさまざまなツールをアーカイブする必要があります。 (おそらく、マシンが長く死んでいるときに、おそらく同じマシンを再現する必要があるかもしれません)。ビルドアーカイブの目的でOSとツールのバージョン番号を収集

システムバージョン情報の全負荷をダンプするために "msinfo32.exe"私たちはアーカイブするかもしれません。

Visual Studioツールのバージョン番号を簡単にアーカイブする方法を知っている人はいますか?

アーカイブの目的でこの種の情報を収集するために他の開発者が使用するメカニズムは何ですか?


追加情報Fabio Gomes。

私は5年間で、正確なOSとツールの構成(最寄りのセキュリティアップデートまで)を再現することはおそらく不可能になることに同意します。残念ながら、これは実際に契約上の要件から来ています。顧客への提供の一環として、すべてのソースコードのコピーを提供し、ビルドの複製方法に関する正確な指示を提供する必要があります。この要件を完全に満たすことはおそらく不可能です。

だから私はあなたの答えを正しいとマークします(私はそれが実際には不可能であることに同意します)。そして、残りのスタックオーバーフローで遊ぶことに乗ります。 :)

PS。元の質問を編集しなくても、スタックオーバーフローが返答をサポートしていれば本当に素晴らしいでしょう。しかし、それはalready been deniedを持っています。

答えて

0

申し訳ありませんが、将来的にはまったく同じビルドを複製しする必要性のために何をリードするだろうか?

私の経験では、製品インストーラを安全にしておくか、最初から新しいビルドを開始するかのどちらかです。

また、将来同じビルドを複製する唯一の方法は、ビルドマシンを仮想マシン上で実行し、VMバックアップを維持することです。

私は、今後同じビルドを複製する必要があるほとんどのソフトウェアはもう使用できないと考えています。したがって、このマシンにインストールするすべてのソフトウェアバージョンのコピーを保持する必要があります。

あなたが解決しようとしている問題について具体的にお答えください。

0

コマンドラインでビルドしている場合は、出力をすべて冗長にして、すべての出力をテキストファイルに取り込んで各ビルドでアーカイブすることができます。

eg, msbuild <build_file> > myfile.txt

0

別の方法として、関連するツール(コンパイラー、システムヘッダー、ライブラリなど)をローカルにインストールするのではなく、リポジトリ自体に置くことをお勧めします。このトピックについて書いたblog postも参照してください。

私はSubversionリポジトリにVisual Studio、gccなどをすべてチェックインしています。

関連する問題