VMware vSphere および vCenter 向け TeamCity のセットアップ
TeamCity vSphere 統合により、TeamCity エージェントクラウド機能を VMware ブイスフィア カスタマーエクスペリエンス向上プログラム: および vCenter のインストールで使用できます。 VMware vSphere/vCenter アカウントを使って TeamCity を構成する必要があり、その後、キューに入っているビルドに基づいて、オンデマンドで TeamCity エージェントを備えた仮想マシンの自動作成/起動/停止/削除を処理します。
この機能は TeamCity にバンドルされたプラグインとして実装されています。
要件
機能
TeamCity vSphere 統合では、次のことができます:
動作のタイプを選択します。
既存の仮想マシンを起動 / 停止します。
仮想マシンまたはテンプレートのクローンを作成し、アイドル状態になったら(ビルドが終了するか、プロファイル設定に応じてアイドルタイムアウトが経過したときに)クローンを削除するか、停止後に保持します。
開始する仮想マシンのスナップショットを選択します。
クローンのディレクトリと、マシンが割り当てられるリソースプールを指定します。
開始されるインスタンスの最大数を構成します。
使用箇所
TeamCity-VMware vSphere エージェントクラウド統合をセットアップするには、次のステップが必要です:
ビルドを実行する仮想マシンを作成します。 仮想マシン(英語)の作成の詳細については、VMware vSphereWeb サイトを参照してください。
VMware Tools または Open VM Tools がインストールされていることを確認してください。 VMware のドキュメント(英語)を参照してください。
TeamCity エージェントをインストールし、 このセクションの説明に従ってマシンを構成してテストします。
TeamCity にこのマシンをオンデマンドで起動 / 停止させたり、クローンを作成させたりする場合は、TeamCity サーバーで VMware エージェントクラウドプロファイルの構成に進みます。 プロファイリングが変更されると、TeamCity は変更をすぐに検出し、エージェントが現在のビルドを完了すると、これらの変更より前に起動されたエージェントを強制的にシャットダウンします。
このマシンのテンプレートを作成してクローンを作成する場合は、 テンプレートの作成の詳細について VMware vSphere Web サイトを参照し、TeamCity サーバーで VMware クラウドプロファイリングの構成に進みます。 有効な vCenter SDK URL(英語) を指定してください。
エージェントクラウドプロファイルの構成に関する注意事項
すべてのイメージでインスタンス数を制限したり、イメージごとに制限を設定したりできます。
クラウドエージェントに一意のホスト名を指定できます。イメージを追加するときは、対応するフィールドからカスタマイズ仕様を選択します。 このオプションは Windows および Linux 仮想マシンで利用できます。
異なるクラウドプロファイリングで同じイメージを使用する場合、競合する可能性を避けるため、TeamCity でクラウドプロファイリングを構成するときにカスタムエージェントイメージのお名前を使用できます。 これは、エージェントの命名パターンにも役立ちます。 カスタムエージェントイメージ名を指定した場合、そのイメージから複製されたクラウドエージェントインスタンスの名前はこの名前に基づきます。
エージェントを再利用するための仮想マシンのクローン作成
仮想マシンまたはテンプレートのクローンを作成し、そのクローンを保持して TeamCity で再利用できるようにするには、 動作構成フィールド(画像を追加/画像を編集 ダイアログ内)で該当するオプションを選択します:

<現在の状態> を スナップショットのお名前フィールドで使用すると、TeamCity は常に新しいクローンを作成し、以前のクローンを削除することに注意してください。 クローンされた仮想マシンを保存するには:
仮想マシンの場合 は:
エージェントイメージフィールドで使用する仮想マシンを選択します。
仮想マシンのスナップショットを作成する(英語)とし、その名前を スナップショット名フィールドに使用します。
テンプレートの場合:
テンプレートを仮想マシンに変換する(英語) 、この仮想マシンのスナップショットを作成してから、 仮想マシンをテンプレートに変換し直し(英語)ます。
TeamCity で、 エージェントイメージフィールドでテンプレートを選択し、作成したスナップショットを スナップショットのお名前フィールドで使用します。