TFVCとGitでは仕組みの違いから、同種の機能であっても異なる方法で提供されている。TFVCではビルドにゲートチェックインを選択しておくと、チェックイン前にビルドおよびテストが実施される。ビルドやテストに失敗したコードはチェックインされず、シェルブとして登録される。
シェルブされたソースコードを修正して、ビルドとテストが正常終了すれば、VS Onlineにチェックインが行われる。大きなシステムになると、ローカルビルドではうまくいっても、全てのシステムを結合した状態のビルドが失敗することはよくあるので、品質を保つためにもゲートチェックインを活用してほしい。
Gitでは、前回紹介したように、ブランチとマージポリシーを設定することにより、ゲートチェックインとほぼ同等の設定が可能だ。レビュワーおよび、セキュリティを設定にしておけば、未テストコードがmasterブランチにマージされることも発生しなくなる。
現在ではTFVCとGitの差はかなりなくなっており、マイクロソフトもTFVCとGitで同等の機能を提供するように改良を続けている。ある機能が今日提供されていなくても、将来的に提供される可能性がある。今後の機能強化予定リストはVisual Studio Online Features Timelineで公開されており、要望は「UserVoice(英語のみ)」というサイトで受け付けられている。特にUserVoiceではFeatures Time lineにもない項目が載っているので、欲しい機能があれば投票すればいいだろう。
Mac OS Xおよび、Linuxのビルドエージェントはnpm(node package manager)のモジュールとして提供されている。具体的な手順は以下に公開されている。
実際にインストールした手順を紹介する。なお、以下ではMac用にMacBuildAgentというプールを作成しているものとする。
まずはエージェントのインストーラーのインストールからだ。
NodeのVS Onlineエージェントインストーラーパッケージをインストールして、npmフォルダーの権限を変更する。次に、エージェント用のフォルダーを作成して、そこにエージェントをインストールする。
エージェント用の作業フォルダーを作成し、vsoagentのインストールを実行すると、エージェントが実行可能になる。以下はエージェントの実行画面だ。
ターミナルから「node agent/vsoagent」コマンドを実行すると、接続先のVS OnlineのURLと認証アカウントの問い合わせが行われる。Windows以外ではMicrosoftアカウントの認証ができないので、事前にMicrosoftアカウントにひも付いた、外部認証を作成しておく必要がある。第2回(下記のリンク先)で紹介した方法に従って外部認証アカウントを登録してほしい。
Macのビルドエージェントを実行しておけば、Macの実機がないとビルドできないXcodeアプリやXamarin.iOSアプリでもVS OnlineでCIを行うことが可能だ。
なお、Xcodeおよび、Xamarin StudioはGitしか対応していないため、チームプロジェクトも必ずGitで作っておく必要がある。
いかがだっただろうか? 従来のビルドから大幅に強化されたVS Onlineのビルドシステムは簡単になっただけではなく、クロスプラットフォームの対応も強化された。Java、Unity、Xcodeなどのビルドもサポートするのでビルドだけでもぜひ使ってみてほしい。
Copyright© Digital Advantage Corp. All Rights Reserved.