プロジェクトのライフタイム中にビルド/テストマシンのセットアップを記録するベストプラクティスは何ですか?以前のバージョンの製品にパッチを提供する必要がある場合は、パッチを適用したリリースを再発行するために同じコンパイラとサポートツールを再ロードする必要があります。何をどのように記録しますか?明らかなのは、
OSバージョンとパッチレベル、
コンパイラ/ IDEバージョン、パッチレベル
サードパーティのツール/ライブラリです。
私の最初の考えは、すべての要件のログファイルを保持することです。このログファイルはVCSに保存されます。製品のライフサイクル中にビルド環境を維持する方法
答えて
VMWare仮想化(または他の同様の製品)は、この種のものに最適です。開発/ビルド/テスト環境全体を構築し、その目的のためだけにセットアップをしておきます。イメージをオフラインで取り出し、DVDにバックアップし、必要なときに単にオンに戻すことができます。
私は、enforcererプラグインでjavaにmavenを使用しています。これらはすべて、プロジェクトオブジェクトモデルに格納されています。私がバージョン管理から適切なバージョンを手に入れることができれば、私は自宅にいます。
サードパーティのツールとライブラリは、他のすべてと一緒にバージョン管理されます。私たちはアプリケーションツリーのすぐ横にあるVCSの幹の下にあるlibsツリーを持っているので、私たちが作成するブランチやタグに含まれます。私がまだ解決していない1つのシワは、VCSが提供するディレクトリがなくても、独自のインストーラを必要とするWindowsツールとライブラリです。
OSとコンパイラについては、複数のコンパイラバージョンを同時にインストールできない場合は、リリースごとにVMを作成することをお勧めします。次に、プロジェクトwikiは、特定のビルドに使用するVMとコンパイラのバージョンを記録できます。これはログファイルのように自動ではありませんが、ログファイルに一致するようにマシンを再インストールする必要はありません。一部のプロジェクトでは、コンパイラ全体をバージョンコントロールにチェックしていますが、これは私にとって残念です(独自のインストーラが必要なIDEやコンパイラではうまく機能しません)。
OSとコンパイラのパッチレベルは追跡されません。パッチが何かを壊したり変えたりする可能性があることは分かっていますが、そのチャンスは非常に低く、費用対効果の比率はそこにはないようです。
- 1. ビルドサーバーとテスト環境用のベストバーチャルマシン製品
- 2. アプリケーションの終了後に環境変数を維持する
- 3. アンドロイドのための異なるビルド環境を持つ方法は?
- 4. Maven Tycho:製品ビルドでeclipsec.exeを除外する方法は?
- 5. サブプロセス間の環境状態を維持する.Popenコマンド?
- 6. symfonyでasseticを使用して製品環境でブートストラップする前にjqueryをダンプする方法は?
- 7. Spring + Hibernate + C3P0環境でConnectionProviderをビルド/取得する方法は?
- 8. Django開発環境の複製/複製
- 9. Xcodebuild&Jenkins:ビルド後に製品の名前を変更する方法
- 10. SUDO使用時に環境変数を保持する方法
- 11. JNIEnv環境へのグローバル参照の維持
- 12. JoomShopping。製品ページに他の製品を表示する方法は?
- 13. Magentoがデータベース内の製品に製品グループをキーする方法
- 14. Mercurialを使用して複数のリポジトリ内で製品アイソレーションを維持する
- 15. 環境をsudoにする方法は?
- 16. SharePoint 2010のためDEV->試験 - >製品版の統合環境をセットアップ
- 17. iOSライブラリ/フレームワーク、ビルド製品から特定のクラスを除外する方法
- 18. さまざまな環境で別々の設定を維持する方法はありますか?
- 19. - (ダッシュ)オプションを持つ環境変数を設定する方法
- 20. C/C++用のWindowsビルド環境を設定する最良の方法
- 21. Web販売サイトで製品を持続させる方法は?
- 22. 複数の環境で開発データベースを同期して維持する
- 23. 接続を維持してJava EE環境で利用できる最良の方法
- 24. HttpHandlerを生存/維持する中間データを維持する
- 25. Rails環境は、開発環境の中でさえ、本番環境に固執しているようです。
- 26. ビルド新製品:ASP.NET vs SharePoint 2010
- 27. IE8環境をエミュレートする方法は?
- 28. Spring環境オブジェクトをオートワイヤリングする方法
- 29. AndroidスタジオのGradleビルドに環境変数を使用する
- 30. ASP.NETリクエストのライフサイクル中に例外を処理する方法