ソースコード管理から見たVSTS(Visual Studio Team Services)

皆様は、ソースコード管理に何を使用しているでしょうか?

一般的に、Gitを用いて管理し、

ソースコードを公開したい/公開されても良いから、外部に保存したい、

という場合、GitHubを使用されているのではないかと思います。

しかし、企業用途の場合やプライベートレポジトリを用いて、

ソースコードを管理したいという場合VSTS(Visual Studio Team Services)も選択肢になります。

今回はそんなVSTSをソースコード管理という観点を中心に紹介します。

1.VSTSとGitHub系の管理ツールの共通点


Pull Requestを用いてGitで管理できる、ということが一番大きいです。

Pull Requestとは、GitHubが開発した仕組みで、

あるソースコードの変更を受け入れてくれ、と依頼を出すことです。

このあたりこのあたりの記事が参考になります。

この機能の開発により、開発者はコラボレーションした開発を進めやすくなり、

OSSの開発ではGitHubを用いることがほとんどのような印象を受けます。

何故なら、レポジトリの管理者は受け入れる変更を容易に管理できますし、

開発者は自由にOSSの開発に加わることができるからです。

更に、Pull Requestを用いることが可能だと、GitHub Flowを使うことができます。

GitHub Flowについてはこのあたりこのあたりの記事が参考になります。

リンクした記事にも書かれていますが、Gitを用いた開発フローとして有名なのは、

他にGit単体で採用することもできる、Git Flowがあります。

ですが、Git Flowはブランチ戦略が煩雑で、初心者には扱いが難しいです。

開発状況によってはGit Flowのほうが好ましい場合もあると思いますが、

GitHub Flowのほうが単純で分かりやすいと思います。

OSS開発にも使われていて、分かりやすいGitHub Flowは素晴らしいと言えるでしょう。

ただし、このGitHub FlowはGit単体では用いることができません。

Pull Requestの仕組みがないと使えないからです。

これを備えたツールとしては、GitHubの他にGitLabBitBacketも存在しますが、

今回紹介するVSTSもPull Requestを備えています。

2.VSTSとGitHubの相違点


GitHubが有名すぎるので、VSTSとGitHubの比較を以下にまとめ、

いくつかについて詳しく述べます。

観点 VSTS GitHub
サーバ Azure上 GitHubのサーバ
参照権限 クローズド 基本はオープン
IaaS版 TFS(Team Foundation Server) GitHub Enterprise
他ツールとの連携 比較的少ない 多い
ユーザ数 比較的少ない 多い
カバー範囲 アジャイル系の課題管理システム+自動テストからデプロイまでカバー Issueとソース管理
費用 Visual Studioを持っていない人は7$/月 ビジネス向けは21$/月
サポート 別途プレミアサポート契約要 ビジネス費用に含まれる
更新頻度 月1回程度 月1回以上
ドキュメント ほとんど英語で、日本語は少ない ほとんど英語だが、日本語もある

①サーバ

VSTSをホストするサーバはAzure上にあります。

GitHub側も強固なサーバを持っているように見受けられますが、

よりサーバをホストしているのはAzureですので、

有事の際にはVSTSのほうが有利だと思われます。

②参照権限

GitHubは基本的にオープンさを志向していますが、

VSTSは基本的に閉じた世界で構成されます。

GitHubでもプライベートレポジトリを持つことは可能ではありますが。

VSTSで、あるレポジトリを他の人に参照してもらいたい場合、

自分のVSTSに他の人を招待して、自分のVSTS上にあるレポジトリに参照権限を付与する、

という操作が必要になります。

なのでVSTSは全くオープンソース向けではありませんし、

気軽に他人のソースコードを参照することはできません。

そのため、VSTSの拡張機能を開発することも可能なのですが、

その開発はGitHub上で行われていたりするものもかなりあるように見受けられます。

③他ツールとの連携&ユーザ数&カバー範囲

ソースコード管理の他にも、ソースコードをコミットしたときに、

連携して何ができるか、ということは現代の開発では重要です。

GitHubはユーザ数が多い分、

他ツールとの連携がすぐ行われるようなイメージがあります。

GitHubだけでカバーしている領域はVSTSと比べると狭いのですが、

他ツールとの連携のTipsがウェブ上に多く存在するため、

連携しやすく、それも加味するとカバー範囲は広いといえます。

ただし、他ツールをホストするサーバについては検討が必要です。

一方で、VSTSはGitHubと比べるとユーザ数が限られていますし、

使う人も企業の人が多いと思われるため、

使ってみた、のようなWebページも少ないような印象を受けます。

ただし、マイクロソフトが開発している分Azureとの連携は簡単にできますし、

これ一つでビルドやデプロイまでも管理できます。

Azureメインで使っていて、他ツールまで学習する体力がない方々は、

VSTSのほうが良いと思います。

④ドキュメント

両者ともほとんど英語になりますが、

GitHubのほうがユーザ数が多い分、日本語で手に入る情報も多いです。

また、VSTSは、2017/11月にAzure日本リージョンではなく、

HongKongへのリリースがなされました。

つまり、日本リージョンでは2018年1月現在、リリースされておらず、

自分のVSTSは、日本ではないリージョンで作成する必要があります。

おそらく、日本での需要が少なく、対応がされていない状況なのだと思います。

こういう状況ですので、私がブログを書いて敷居が下げられないだろうかと思った次第です。

3.まとめ


以上で述べてきたように、

VSTSはPull Requestを用いたGitでソースコード管理可能、という基本を兼ね備えていて、

Azureと簡単に連携できる、単体でのカバー領域が広い、レポジトリがかなりクローズド

などの特徴があるのですが、

GitHubと比べると正直いくつか弱い部分もあります。

なので、これらの特徴を活かせる状況にある人々がVSTSをより使用して、

日本のユーザ数が増えると良いなと考えています。

※私もこのあたりのことを勉強し始めた段階ですので、

誤り等ありましたらコメントで指摘いただけると幸いです。

The following two tabs change content below.

ずさずさ

機械工学を学んでねずみの研究をしていましたが、 紆余曲折あってメーカに就職。 機械学習をやろうと思いきや、 サーババックエンド側の担当になりました。 好きなのは認知科学です。 これからの時代、ネット上に個人の興味をアピールすべきと思っていたところ、木村君に拾われました。
スポンサーリンク