Jenkinsではなく、組織内にVS Onlineのビルドエージェントを用意してビルドをスケールアウトするという方法もある。エージェントの追加はVS Onlineのテナントのトップページ(http://VS Onlineのアカウント名.visualstudio.com/)にある管理ページから可能だ。
VS Onlineのトップページで右上に表示される歯車アイコンをクリックすると管理ページが表示されるので[Agent pools]タブをクリックする。
この画面で[New pool]ボタンをクリックすると、ビルドエージェントプールの新規作成が始まる。
[Name]には任意の重複しないビルドエージェントプールの名前を指定する。用途に応じて分かりやすい名前にすればよい。例えばMacやLinuxといった実行されているOS単位で動いているエージェント(Windows以外での実行方法は後述)単位で構成する、組織内で構成している場合は、部門単位でプールを作るという方法も考えられる。実際にWindows用のエージェントを作ってみよう。
エージェントプールの画面で[Download agent]ボタンをクリックすると、Windows用のエージェントを含んだagent.zipファイルがダウンロードできる。任意のフォルダーに展開に展開して、configureagent.ps1ファイルを実行する。
configureagent.ps1ファイルを実行するためにはPowerShell 3.0以降が必要になる。Windows 8では4.0がインストールされているが、Windows 7およびWindows Server 2008 R2を使用している場合は以下のURLからインストールする必要がある。
ZIPファイルのブロックを解除してから適当なフォルダーに展開したら、管理者としてPowerShellを起動してから構成を開始する。
ここではc:\agentフォルダーに展開して、構成を開始した。これにより、コマンドプロンプト画面が起動して設定が行われる。
気を付けるのはサービスとして実行するかどうかだ。サービスとして実行しない場合、明示的に実行する必要がある。一度終了後、再実行する場合、エージェントを展開したフォルダーのagentフォルダーの配下にvsoagent.exeファイルがあるので、そのまま実行すればよい(このとき、vsoagent.exeファイルがあるフォルダーにカレントディレクトリを移動せずに、agentフォルダーからサブディレクトリ名付きでvsoagent.exeファイルを実行する必要がある。例:「agent\VsoAgent.exe」)。設定情報を引き継いで、ビルドエージェントが実行される。
実行しているエージェントはVS Onlineの管理画面から確認できる。
これでエージェントを実行しているコンピューターがVS Onlineで認識されるようになった。ここではdefaultプールに追加したので、ビルドキュー投入時に「default」を選択すれば、自動的に追加したエージェントでビルドが実行される。
VS Onlineがビルドエージェントごとに決まっている機能(capability)に従って、自動的に適切なエージェントを使ってビルドするため、エージェント単位にプールを作るということは避け、可能な限り少ないエージェントプールにまとめよう。
XAMLビルドでは、タグ付けが新しいビルドシステムの「capability」と同じ役目を果たしていて、これによりどのビルドエージェントを使うかが決まったが、タグは管理者が設定する必要があり、スケールアウトも難しかった。新しいビルドシステムではタグを設定する必要がないため、スケールアウトが非常にやりやすくなっている。XAMLビルドにおけるエージェントの配置や構成については以下を参考にしてほしい。
Copyright© Digital Advantage Corp. All Rights Reserved.