はじめに
この記事はVisual Studio Team Servicesアドベントカレンダー12日目の記事です。
仮想マシンへの展開、どうやっているでしょうか?ReleaseやBuildのタスクでFQDNを指定してコピーもいいですが、VSTSには展開する仮想マシンのグループを管理するDeployment Groupsという機能があります。これを使うと、配布エージェントの管理をVSTS側でやってくれるので便利そうです。ちょっと使ってみましょう。
長くなりそうだったので、今日はDeployment Groupsの管理だけです。
Deployment Groups作成
Build & Releaseの中にDeployment Groupsがあります。*がついているので、まだプレビューという扱いです。
Add deployment groupをクリックして、作成します。
名前は任意で決めてください。Descriptionにはわかりやすい説明をつけます。
対象とするOSはWindowsかLinuxです。とはいえ、Linuxで必要となることがあるかどうかはちょっと疑問です。Azureのコンテナーサービス使ったり、Web Apps使ったほうがいいように思います。
エージェントを展開するためのPowerShellスクリプトが用意されるので、Azureで展開する場合、仮想マシンのプロビジョニング時にこのままコピペすれば、使えます。ちなみにAzureのDevTestLabsでは初期設定時にこのエージェントを展開する機能が用意されています。
注意点として、同じエージェントを使いますが、ビルドエージェントではありません。つまり、ビルドとDeployment groupのエージェントを兼ねることはできません。これはUIテストでも同じことです。テストはテスト、ビルドはビルド、となります。マシンが多くなりますね。
対象とする環境にはタグをつけることができます。タグは決まっていないので、任意に設定します。OSはDeployment groupsがそもそも異なるので、Windows 10であれば、1709とかの現在のバージョンやFirefox, Chromeが入っているかどうか、先行リリース環境であるかどうかなどを指定すればいいでしょう。
こんな風に一覧で含まれるターゲットのPCが表示されます。
オンライン、オフラインの状態もわかります。
エージェントの管理
エージェントはしばしばバージョンアップされます。Deployment groups単位で更新ができます。Update agentを実行すると、自動的にグループ内のOSのエージェントが更新されます。
更新してもいいかどうか確認されます。
更新前、Agent.versionは2.124でした。
更新後、Agent versionが2.126になりました。
まとめ
Deployment groupsを使ってテスト環境を管理するところを紹介しました。Release機能でこの管理しているグループに対するデプロイがサポートされているので、明日はその辺を紹介します。