Visual Studio Onlineを始める

以前、Team Foundation Serverのクラウド版とも言うべきTeam Foundation Serviceがベータ版で運用されていましたが、正式にVisual Studio Onlineとなったので、オンプレで使っていたTFSからリポジトリを乗り換える前提で、とりあえず使ってみました。

vso4

Visual Studio Onlineは基本契約は無料で、プライベートなリポジトリを持つことが出来ます。巷では無料のリポジトリサービスがいろいろありますが、ほとんどの場合はリポジトリに格納するプロジェクトをオープンソースとして公開することが前提です。

もし、ちょっとしたプライベートなプロジェクトを格納しておく場所に困っているなら(ローカルで自前でTFS・Git・Subversionなどを立ち上げるなど、いくら簡単にインストール出来ても保守は面倒です)、Visual Studio Onlineを検討する価値はあるでしょう。

また、他のサービスと異なるユニークな点は、Professional契約以上(月額45ドル/人)で、開発環境としてのVisual Studioが使えることです(インストールが必要)。さらにAdvanced契約以上では、アジャイルソフトウェア開発で有用な、プロジェクト管理システムもフルで使えます。これは、従来のTFSで使用している機能が、SaaSとして利用可能になったものです。

vso5

CI(継続インテグレーション)も可能です。但し、ビルド時間に制限があります。時間を超えると課金が必要です。未確認ですが、オンプレミスサーバーにVisual Studio Agentをインストールして、CIだけオンプレミスで実行させる事が可能なようです。これならば、大幅な課金を回避しつつ、サーバー管理の負担を軽減することが出来ます。

オンプレミスのTFSを使えばもちろん課金は不要ですが、TFSの管理にかかるコストの事を考える必要があります。TFS(に限らず、類似システムも含め)プロジェクト管理システムは大掛かりなため、全ての機能を使用して維持するのは、それ相応の準備と計画が必要になります。この点を肩代わりしてくれるサービスだと考えれば、課金をペイ出来る開発チームもあるでしょう。

公平の為、このようなクラウドサービスとしてAtlassianも推しておきます

また、Visual Studio Onlineは、従来のTeam Foundation Server方式のソースコード管理に加え、分散バージョン管理システムのGitを使用することもできます。これは、オンプレミスのTFS2013では実現出来ないため、Visual Studio Onlineのみのアドバンテージです(将来は改善されるか?)。


vso1

物は試しということで、Visual Studio OnlineでGitを使用してリポジトリを作り、Visual Studioを「使わずに」接続してみました。この図のように、あらかじめアカウントのProfile画面からCredentialタブを選択し、Basic認証を有効化しておきます。Gitクライアントからはhttpsで接続しますが、この時に使用するパスワードをここで入力して下さい。私はLive IDのパスワードを入力し続けて、暫く嵌っていました。

この操作は面倒ですが、恐らくはセキュリティ上の措置(Basic認証では平文パスワードを保持する必要がある)の為と思われます。念のため、Live IDのパスワードとは変えるようにします。

Windows環境のGitクライアントはいくつか選択肢があります。Git開発者の公式なパッケージはbashを含むMSYSベースのCLI環境です。どのクライアントを使うにしても、このパッケージはインストールしておいたほうが良いでしょう。何故なら、他のクライアントがこのパッケージ内のバイナリを使う事があり、かつすべてのクライアントがGitのすべてのオペレーションをサポートしているとは限らないためです。

vso2

Visual Studio内で使用できるプラグインGitクライアントも数種類あります。問題は、どれもまだ品質が一歩劣るという所でしょう。マイクロソフトも純正のGitクライアントプラグインをリリースしています。これはVS2012用で、VS2013には初めから搭載されています。しかし、Gitで使用する頻度の高いコマンドがサポートされていない・複数のリポートリポジトリに接続出来ないなどの問題があります。石坂さんのブログに詳しいので参考にして下さい。ボチボチ使えるのがGit Source Control Providerです。窓の杜の記事も参考にどうぞ

プラグインではないクライアントとして有名処ではTortoiseGitがあります。が、Tortoiseシリーズは思う所があり、私的にはSourceTreeをお勧めします。このクライアントは独立型(いわゆるVSSクライアントのような)で、Mercurialもサポートします。

操作感についてはそこそここなれている印象です。バックエンドを普通のCLIベースのGitクライアントで賄っているため、スムーズさは今一つですが、どのクライアントもこの方式なので仕方が無いでしょう。それ以外の点では、自分が何をやろうとしているのかが把握しやすいのが良い点です。そして、SourceTreeは前段で紹介したAtlassianが開発しているというのも、説得力があります。

vso3

SourceTreeを使用して、Visual Studio Online上のGitリモートリポジトリに接続し、ローカルリポジトリにコミットしたコードをpushしてみました。当然のことながら、全く問題ありません。一点、Visual Studio Online上のリポジトリURLがどこから取得出来るのか分かりにくいという問題があります。以下の図を参考にして下さい。

vso6

ソースコードエクスプローラーで、ツリーのリポジトリをクリックしたときに表示されているURLが、Gitクライアントで入力すべきURLです。URL末尾のリポジトリ名の手前に「_git」という識別子が入るので、確認してください。


これからGitを始めるという方は、VSS・TFS・Subversionと同じと思って掛かると挫折します(笑) Gitは同じバージョン管理システムでも全く異なる仕組みを持ちます。必ず知識をつけておきましょう。

Gitポケットリファレンスを、お勧めします。

投稿者:

kekyo

A strawberry red slime mold. Likes metaprogramming. MA. Bicycle rider. http://amzn.to/1SeuUwD