Team Foundation Service Preview を利用してみた
Team Foundation Server の PaaS、Team Foundation Service (以下TFService)の Preview 版を触ってみました。
はじめに
昨年度の案件で Team Foundation Server(以下TFS) を利用していました。目的はバージョン管理と、CIでした。
【参考】Team Foundation Server で構成管理を運用してみた - kaji_3's blog
1年ほど運用していましたが以下の課題がありました。
- ハードウェアのメンテナンスが手間
- 社内にサーバを用意した場合、資産管理、Windows Updateなど管理が必要になってしまいます。
- 自動ビルドの負荷が高い
- 継続的インテグレーション、チェックインするとビルド実行がキューに入るようにていました。ただ、繁忙期になると20人が一気にチェックインするなどし、チェックイン→成功失敗検知の間隔が長くなりテンポのよい開発とはなりませんでした。
上記の課題から、TFSをハードが必要なくて、スケールしてくれるクラウドにあると助かるなーといつも思っていた所にちょうど Preview がスタートしました。
今回見てみたところ
TFSは開発プロセスに合わせて Scrum、Agile、CMMIとプロセステンプレートを選べる上、Backlogを管理するなどの機能もありますが、私の運用経験がないためよく触っていたバージョン管理、自動ビルド周りがどうなっているか見ました。
前提
- 環境
- Visual Studio 2010 SP1
- Windows XP SP3
TFService でプロジェクトを作成する
こちらをご参考ください。さくっと作成できますよ。
Team Foundation Service (Preview)を試してみた | Ryuzee.com
クラウドベースのALMプラットフォーム – Team Foundation Service Preview はじめの一歩
Visual Studio 2010 の準備
TFService のHOMEにも表示されていますが以下のガイドから必要なソフトウェアをダウンロードしてください。
Software Downloads for the Team Foundation Service Preview - Visual Studio ALM + Team Foundation Server Blog - Site Home - MSDN Blogs
- SP1未適用の方は適用
- SP1 適用後OS再起動が指示されます。
- Visual Studio 2010 SP1 Team Foundation Server 11 Compatibility GDR
- SP1 適用後にインストールしてください。
TFService への接続
TFSと同じです。previewページのURLを指定すればOKです。
ここで驚いたのは自分が構築したTFSより接続が早かったこと。社内のサーバよりサクサク接続できました。
バージョン管理への追加
TFSと同じくローカルフォルダにマッピングを行います。
マッピングしたフォルダにソリューションフォルダを追加してチェックインするという手順はTFSと同じです。
ビルド定義の追加
追加したソリューションの自動ビルドを設定します。
なお、TFSService のWEB画面ではビルド定義の新規作成、ビルド定義の編集はできません。
今回はゲートチェックインにします。
TFSService ではローカルフォルダがないためデフォルトの出力先はソース管理フォルダになってました。
他の設定はTFS同様、ビルド対象のソリューションを選んだり、テストライブラリの選択します。
ビルド実行
ビルドをキューにいれます。
無事にビルドが完了します。
Webからの見ため
こんな感じ。シンプルでわかりやすいですね。
プロジェクト警告(ビルド結果、エラー、チェックイン情報)
社内サーバだと手間のかかるメール送信設定もSMTPサーバの設定なしで行けます。
スクリーンショットがないですが、Visual Studio のチームエクスプローラーでプロジェクト名を右クリックします。
すると表示されるコンテキストメニューの「プロジェクト警告」をクリック。
ビルド結果をメールで送ってもらうようにします。複数メールアドレスを指定する場合「:」で区切ります。
んで、ビルドすると。。
メールが来ます。
終わりに
Preview 利用の申請を覗いて大体上記設定をやるのに1時間半ぐらい。TFS を利用していた方なら特に新しい知識を入れる事なく利用出来ます。なお、課題にあったビルド時スケールすると幸せになれる。。というのがTFService で対応されているかは未検証です。環境構築をよくやる自分としては非常に負荷が軽減されるイメージなので導入を進めたいですね。ソース管理サーバを自前で持つ意味があるのか考えてしまいますな。