2014年5月28日水曜日

Visual Studio Online を使ってみた

Visual Studio Online とは「Team Foundation Serverのクラウドサービス」だそうです。
TFS 使ったことないのでよくわかりません

「Visual Studio Online」は元々は「Team Foundation Service」という名前だったそうで、それが2013年11月に改名。また、Monaco という開発環境のクラウドサービスも公開されました。

チーム開発環境がメインなサービスですので、その辺はぼっち開発をしている私にはあんまり関係のないものと思っていましたが、無料で使える CI ツールとして試しに使ってみました。

使ってみた動機
使ってみようとした1番の理由がオンライン上でビルドできるという点です。
他の CI ツールとして Travis CIJenkins の PaaS(OpenShift,CloudBees) を使っていますが、Visual Studio でのビルドができないため自分のノートPC上で Jenkins を動かしてテストしていました。
これが git push するだけで、あとは勝手にビルド・テストしてくれるとなると大助かりです。

CI ツールとしてみる Visual Studio Online
バージョン管理システム
プロジェクトを作成するとバージョン管理システムを選択する必要があります。
Visual Studio Online で使えるバージョン管理システムは 「Team Foundation Version Control」と「git」です。

私は github を利用しているので今回は git を選択。
ビルド定義を新規作成して、「ソース設定」の「Team Foundation の Git リポジトリからソースを取得します」のチェックを外します。リポジトリURL に github のリポジトリURLを入力、既定の分岐にブランチのパスを入力します。

トリガー
トリガーは外部のリポジトリを使用する場合は、以下の3つが使えません。
継続的インテグレーションチェックインのたびにビルドする
ビルドのロール前のビルドの完了までチェックインを蓄積する
ゲートチェックイン送信された変更が正常にマージされ、ビルドされる場合のみチェックインを受け入れる
仕方がないので「スケジュール」を選択し、定期ビルドするようにしました。(※ スケジュールも「前回のビルドから何も変更されていなくてもビルドを実行する」のチェックが外せなくなっています。)

無料アカウントの場合ビルドが 60分/月 なのでこれを超えないように注意して設定しましょう。

ビルド・テスト
最後に、ビルドとテストについてです。
プロセス設定でビルドやテストなどのアクションを定義します。
今回は既定テンプレートを使用しました。

まず、ビルドに関しては「2.Build」-「1. Solution to build」にビルド対象のソリューションを指定、Configuration と Platform も指定すれば OK です。
テストに関しては VSTest なら使えるようですが、私はそれを使っていません。今回は Makefile にビルドとテストを記述し、メイクファイルプロジェクトからそれを実行するようにしました。これならメイクファイルプロジェクトのソリューションパスを設定するだけで OK なので、楽にできました。
(ビルド プロセス テンプレートをカスタマイズすれば色々できると思うが、今回は未使用)

以上で、定期的に Visual Studio でのビルドとテストができる環境を手に入れられました。

制限はあるものの、無料で Visual Studio を使った CI が十分にできました。

0 件のコメント:

コメントを投稿