4

ビルドサーバーとテスト環境を実行するには、どのVirtual Machineソフトウェアが最適かを調べています。ビルドサーバーとテスト環境用のベストバーチャルマシン製品

私はテストドリブン開発に関する本を読んできました。最初のステップは、歩行スケルトンを作成することです。ですから、.netのホビープロジェクトとして、VM上にCIサーバーをセットアップして、コードとインストーラーをビルドします。そこからソフトウェアは何とか自動的に別のVMにインストールされ、それに対して受け入れテストが実行されます。たぶん、これはすべて私が確かではない1つのVMで行う必要があります。

私はVMWareプレーヤーとVirtualBoxを調査していますが、私はそれらの間で選択するのが苦労しています。他の誰かが同様のビルド/テスト環境を設定した経験があるのだろうかと思っていました。何かアドバイスのため

感謝

ニール

編集:私はそれは非常に私が製品を使用しての経験で探しているものを答えていませんが便利であるこの質問https://stackoverflow.com/questions/66317/which-is-the-best-vm-program-for-a-programmerを参照してください。

答えて

3

私は非常にそれはあなたがchefpuppetのようなコンフィギュレーション・経営管理論・ツールを使用して環境にインストールされているかを制御できますようvirtualbox環境を管理するための放浪プロジェクト

http://vagrantup.com/

は信じられないほど便利推薦します。

この技術は、Linuxベースの仮想マシンを管理する上で成熟しています。あなた自身のウィンドウを作成することを余儀なくされるだろうbasebox。残念ながら、私は自由に利用できる仮想ボックスのイメージがWindowsの採用を妨げているとは思っていません:-(

+0

コードとインストーラが最初のVMでビルドされたら、別のVMを起動してからリモートでmsiをインストールし、最初のVMから統合/受け入れテストを開始できますか? – Neil

+0

はい。バゲントは、開発環境とテスト環境を管理するためのフレームワークです。 –

2

これは主観的な質問であり、さらにServerFaultの行に沿っていますが、私はとにかくそれに答えるでしょう。私はHyper-VやESXが好きですが、他の人も大丈夫と確信しています。 1つの「ベスト」があるとは確信していません。

ネイティブのものが必要です(Hyper-V、ESX、XenServerは仮想PC /サーバー、KVM、VirtualBox、GSX)。スナップショットをサポートし、制御するのに適した自動化レイヤーを備えています。 Microsoft Team Foundation Serverのテストラボ自動化と統合したい場合は、Hyper-Vを使用することを意味するSCVMM(System Center Virtual Machine Manager)も使用する必要があります。

私の最後の仕事では、ベーススナップショットを持つ50以上のESXベースのビルドサーバーがありました。 VSphere APIを呼び出して、VMをベーススナップショットにリセットし、電源をオンにするビルドの自動化機能がありました。これにより、すべてのビルドがまったく同じクリーンな状態のマシンから実行されたことが確認されました。私たちはそのインフラストラクチャで年間100,000以上のビルドを実行しました。

また、私はHyperVを使って同様のことをしました。 Hyper-Vには、RPCを使用するWMIベースの管理APIがあり、VSphereを扱うには少し醜いですが、動作します。 VSphere APIはWebサービスベースであり、使いやすい.NET用のクライアントオブジェクトモデルを備えています。

テスト用に、特定の状態でVMをプログラマチックに設定したい場合は、インストーラを展開してから統合テストスイートを実行します。

+0

詳細な応答をありがとう、私はハイパーvを前に来ていませんでしたが、探しています。Teamcityをciサーバーとして使用することを考えていました。なぜなら、これは私が仕事で使っているものだからですが、Team Foundationに一歩踏み出させてくれることはないと思います。 – Neil

+0

私はこのすべてを自宅でコンサルティングに使用しています。私の環境の説明はhttp://www.iswix.com/dnn/で見つけることができます。基本的に1台のヘッドレスサーバーとデュアルモニターラップトップは、開発環境全体をホストするために必要なものです。 –

関連する問題