Azure DevOps (TFS/VSTS)とGitLabの比較

On this page

Overview

Summary

On September 10, 2018 Microsoft renamed VSTS to Azure DevOps and by Q1 2019 will rename TFS to Azure DevOps Server, and upgrade both with the same new user interface.

Azure DevOps (VSTS) is a hosted cloud offering, and Azure DevOps Server (TFS), is an on-premises version. Both offer functionality that cover multiple stages of the DevOps lifecycle including planning tools, source code management (SCM), and CI/CD. However, first development focus will be to Azure DevOps (SaaS). Their project manager shared that they are releasing on a 3-4 week pace. This seems evident based on their published roadmap. The same project manager also shared that Azure DevOps Server (TFS) will be 3-4 months behind on adopting new features (also evident by their published roadmap). They are both from the same code base.

As part of their SCM functionality, both platforms offer two methods of version control.

  1. Git (distributed) - each developer has a copy on their dev machine of the source repository including all branch and history information.

  2. Team Foundation Version Control (TFVC), a centralized, client-server system - developers have only one version of each file on their dev machines. Historical data is maintained only on the server.

Microsoft recommends customers use Git for version control unless there is a specific need for centralized version control features. https://docs.microsoft.com/en-us/vsts/tfvc/comparison-git-tfvc

This is noteworthy given that in June of 2018 Microsoft purchased GitHub, the Internets largest online code repository. This deal closed Oct 26th, 2018.

Breakdown

Because the Azure DevOps suite is so wide, similar to GitLab, a breakdown can be helpful in understanding what we're dealing with. Go to this breakdown page for more details.

Additionally, the competitive landscape section of the Continuous Integration category page contains a detailed feature-by-feature breakdown of how we compare to GitHub and Azure DevOps for CI/CD.

Resources

Comments/Anecdotes

  • Regarding the rename and repackaging of VSTS to Azure DevOps: > Microsoft customers wanted the company to break up the Visual Studio Team Services (VSTS) platform so they could choose individual services, said Jamie Cool, Microsoft's program manager for Azure DevOps. By doing so, the company also hopes to attract a wider audience that includes Mac and Linux developers, as well as open source developers in general, who avoid Visual Studio, Microsoft's flagship development tool set.
  • Lots of emphasis on cross platform (windows, Mac, Linux), and free macOS CI/CD is pretty rare.
  • All paid plans include unlimited stakeholder users who can view and contribute to work items and boards, and view dashboards, charts, and pipelines
  • From https://azure.microsoft.com/en-us/blog/introducing-azure-devops/ > Azure DevOps represents the evolution of Visual Studio Team Services (VSTS). VSTS users will be upgraded into Azure DevOps projects automatically. For existing users, there is no loss of functionally, simply more choice and control. The end to end traceability and integration that has been the hallmark of VSTS is all there. Azure DevOps services work great together.

    As part of this change, the services have an updated user experience.

    Users of the on-premises Team Foundation Server (TFS) will continue to receive updates based on features live in Azure DevOps. Starting with next version of TFS, the product will be called Azure DevOps Server and will continue to be enhanced through our normal cadence of updates.

  • HackerNews comments saying it's just a rebrand - PM for AzureDevOps responding: > PM for Azure DevOps here (formerly VSTS). It is a rebranding, but it's more than merely a rebranding. We're breaking out the individual services so that they're easier to adopt. For example, if you're just interested in pipelines, you can adopt only pipelines.
  • From a call with a prospect Bank:
    • Went with Azure DevOps because > It's platform agnostic, it's in the cloud, great capabilityality, tons of functionality, it does what we need it to do. We like it a lot. It really has nothing to do with Microsoft. Microsoft is very agnostic and open source embracing now, so that the old Java vs .Net thing is kind of over.

    • Appealed to a shop that was "more Java than Microsoft technologies". But they had lots of the Microsoft development suite already, and trusted where Microsoft is going.
    • Azure DevOps is dropping new releases every sprint (2-3 weeks). Their roadmap is public: Azure DevOps public Roadmap and Release History
  • What does the migration path look like from Azure DevOps to GitLab for SCM and CI/CD??
    • SCM migration - Available tools to migrate without losing repo history. Like with any product, centrally managed -> Git takes training.
    • CI/CD migration - A little tougher. Most existing will be using build pipelines and release pipelines created through UI. Conversion is task by task reconstruction of pipelines, and potential combining into one on GitLab. Azure DevOps pipeline as code is new, although Microsoft is starting to push it as the default now.
  • A developers experience and opinions using Microsoft Devops CI
  • Hacker News: Microsoft’s Azure DevOps: An Unsatisfying Adventure

Pricing

Azure DevOps

VSTS

VSTS Pricing

Visual Studio ‘Professional Version’ is the most comparable to GitLab since Visual Studio ‘Enterprise Version’ includes extras outside the scope of DevOps (such as MS Office, etc).

Visual Studio Professional can be purchased under a ‘standard’ or ‘cloud’ model.

  • Standard = $1,200 year one (retail pricing), then $800 annual renewals (retail pricing)
  • Cloud - $540 per year

Under their ‘modern purchasing model’, the monthly cost for Visual Studio Professional (which includes TFS and CAL license) is $45 / mo ($540 / yr).  However, extensions to TFS such as Test Manager ($52/mo), Package Management ($15/mo), and Private Pipelines ($15/mo) require an additional purchase.

TFS

TFS Pricing

A TFS license can be purchased as standalone product, but a TFS license (and CAL license) is also included when you buy a Visual Studio license / subscription.

MS pushes Visual Studio subscriptions and refers customers who are only interested in a standalone TFS with a ‘classic purchasing’ model to license from a reseller.

Excluding CapEx and Windows operating system license, a standalone TFS license through a reseller in classic purchasing model is approximately $225 per year per instance. The approximate Client Access License is approximately $320 per year.

Comparison

機能

コミットグラフとレポートツール

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabは共同作業に役立つ、コミットグラフとレポートツールを提供します。

コミットグラフの詳細

包括的なインポート機能

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab は、GitHub や他の VCS よりも多くのソース (GitHub, Bitbucket, Google Code, FogBugz, Gitea, 任意の git URL) からプロジェクトと課題をインポートできます。また、SVNからGitへ移行するための包括的なガイドとドキュメントも用意されています。

GitLabの利用開始をより簡単に

議論をロック

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

不正使用、スパム、非生産的な議論を防止するため、管理者以上の権限を持つユーザーは議論の継続をロックすることができます。

議論をロック

カスタム通知

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

課題やマージリクエストに変更があると、メールやSlackやTodoで通知できます。

カスタム通知の詳細

リンクホバーに関するリッチオブジェクトの概要

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab のユーザー、課題、マージリクエスト、その他のオブジェクトへのリンクにカーソルを合わせると、豊富な情報量の概要を表示されます。

この機能の実装に関するエピックを表示

Wiki によるプロジェクトのドキュメント

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

それぞれのプロジェクトのドキュメントを管理するためにWikiが使用できます。。すべてのWikiは独立したGitリポジトリとして利用できます

GitLabのWikiの詳細

画像に関する議論

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

コミット画面やマージリクエストの差分画面で、画像の特定の位置を指定して、画像に関する議論をコメントできます。1つの画像に対して複数の議論を作成できます。

画像に関する議論

マージリクエストのコミットに関する議論

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージリクエストのコミットに対してコメントをすることができます。

マージリクエストのコミットに関する議論

メールからマージリクエストを作成

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージリクエストのタイトル、説明、ソースのブランチ名を記載したメールを送信してマージリクエストを作成できます。あるいは、最初にブランチをプッシュせずにパッチファイルを用いてマージリクエストを作成します。

メールからマージリクエストを作成

初回貢献者バッジ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

プロジェクトに初めて貢献する貢献者をハイライト表示します。

Review Appsで変更をプレビュー

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab CI/CDを利用して、ブランチごとに新しい環境を作成することができ、開発プロセスを高速化できます。 自分のブランチをプレビューできるマージリクエスト用の動的な環境を起動できます。Review Apps support both static and dynamic URLs.

Review Appsの詳細

Multiple approvers in code review

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

In GitLab, to ensure strict code review, you can require a minimum number of users to approve of a merge request before it is able to be merged. 一度承認した後で問題に気がついた場合は、承認を取り消すこともできます。

承認機能のドキュメント

コードレビューの承認ルール

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Make sure the right people review merge requests with approval rules by specifying lists of eligible approvers, the minimum number of approvals for each, and which target branches they protect. This makes it easy to request review from different teams like Engineering, UX and Product.

承認機能のドキュメント

他のサービスから簡単に移行

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

以前に使用していたサービスから、すべてのリポジトリ、課題、マージリクエストのデータをGitLabへ簡単に移行できます。

プロジェクトをGitLabに移行する方法の詳細

曖昧ファイル検索でファイルを探す

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabは少ないキー入力でリポジトリ内のファイルを探す方法を提供します。

ファイル検索のドキュメントを表示

fast-forwardマージ、およびrebaseオプション

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージコミットを作成せず、すべてのマージをfast-forwardとするように、プロジェクトレベルで設定できます。fast-forwardマージができない場合は、rebase後にマージするオプションを選択できます。

マージ前rebaseの詳細

squashしてマージ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

複数のコミットを1つにまとめてからマージすることで、メインブランチの履歴をシンプルに保つことができます。

squashしてマージの詳細

GitLab.comからインポート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab.comからプライベートインスタンスにプロジェクトをインポートできます。

GitLab.comからプロジェクトをインポートの詳細

プロジェクトのサイズをグローバル、グループ、プロジェクトレベルで制限

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

ディスク使用量を適切に制御することができます。

プロジェクトサイズ制限の詳細

マージの承認

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab Enterprize Editionではマージリクエストをマージするのに、複数の承認を必須とすることができます。マージに必要な承認の数や承認可能なユーザーを設定することは、コード品質の改善につながります。

マージリクエストの承認の詳細

マージリクエスト

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージリクエストを作成してチームメンバーに@メンションすると、変更をレビューしてから安全にマージが行えます。

マージリクエストの詳細

マージの衝突を解決

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージの衝突をGitLabのUIでプレビューして、どちらのバージョンを使用するのか選択できます。

マージ衝突解決UIの詳細

未署名コミットを拒否

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab Enterprise Edition Premiumでは未署名コミットのプッシュを拒否することで、GPG署名コミットを強制することができます。

強制プッシュルールを表示

コミッターの検証

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

コミッターとプッシュの実行者が同一人物であることを検証できます。

GitLabで開発中です。詳細な情報はこのリンク先を参照ください。

Gitでディスク使用量を削減

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

一般的に、Gitリポジトリのディスク使用量は、類似のSVNリポジトリのディスク使用量よりも少なくて済みます。

GitLabでのGitの利用について確認

ファイルのロック

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

複数人で同じファイルを使って作業をすることにはリスクが伴います。バイナリファイルで発生した衝突の解決には、 多大な労力が必要となります。 GitLab Enterprise Premiumでは、特定のファイルやディレクトリ全体をロックすることで、 自分以外がバイナリファイルを編集することを防止することができ、 面倒なバイナリファイルの衝突を回避することができます。

ファイルのロックの詳細

パイプラインの成功時にマージ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

レビューが済んでマージできる状態なのに、CI/CDのジョブが完了するまで待つ必要がある場合は、パイプラインが成功したら自動的にマージするように予約することができます。

パイプラインの成功時にマージの詳細

特定のコミットやマージリクエストをUIから取り消し

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

ボタンをクリックするだけで、コミットやマージリクエストの取り消しができます。

GitLabのUIからコミットやマージリクエストの取り消す方法の詳細

強力なブランチ機能

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

A branch in Git contains the entire history that precedes it. また、ブランチを簡単に作成、移動、共有することができます。

ブランチの利用を開始するためのGitのドキュメントを確認

保護ブランチ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

保護ブランチに対して、きめ細かいアクセス制御ができます。

保護ブランチの詳細

Web IDE

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Web IDE を使用してローカル開発環境でのコンテキスト切り替えを回避することで、プロジェクトへの貢献を迅速にします。Web IDE はマージリクエストや GitLab CI と統合されているため、Web IDE を離れることなくフィードバックを解決、失敗したテストの修正、変更のプレビューをクライアント側の評価でライブ表示ができます。

Web IDEの詳細

Web IDE の Web ターミナル

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Web IDE の Web ターミナルでコードを操作して、API 応答の検査、REPL の実験、コードのコンパイルを実行します。

Web IDE の Web ターミナルの詳細

File Syncing to Web Terminal

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Changes made in the Web IDE will now be synced to the Web Terminal. User changes made in the Web IDE can now be tested within the Web Terminal before committing them to the project.

Learn more about File Syncing to Web Terminal

スニペット

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

引用可能なコード片を、コードスニペットとして保存して共有できます。 また、1行のコードでブログやウェブサイトに埋め込むこともできます。

スニペットの詳細

マージリクエストのバージョン

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

ブランチにプッシュする毎に、マージリクエストのバージョンが作成されます。マージリクエストのUIで、バージョン間の差分を表示できます。

マージリクエストのバージョンの詳細

インラインコメントと議論の解決

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージリクエストのインラインコメントを使用すると、コードやテキストのレビューがより高速かつ効果的になります。特定のコード行についてコメントを残し、議論を解決します。GitLab では、マージリクエストのインラインコメントは議論として解釈され、変更されてもされなくても任意の行に残すことができます。すべての議論が解決されたときにのみマージリクエストが承認されるようにプロジェクトを構成できます。

議論の解決の詳細

変更のcherry-pick

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージリクエストや特定のコミット内のCherry-Pickボタンをクリックするだけで、あらゆるコミットをcherry-pickできます。

マージリクエストをcherry-pickの詳細

アクティビティストリーム

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

コミット、マージ、コメントなどプロジェクトのチームメンバーの直近の活動を一覧表示できます。

アクティビティストリートの詳細

GPG署名コミット

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

署名コミットを使用すると、特定のユーザーによってコミットされたことを証明できます。

GPG署名コミットの詳細

仕掛中のマージリクエスト (WIP)

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

仕掛中のマージリクエストを間違えてマージすることができないように、マージリクエストを仕掛中(WIP)としてマークできます。これにより、仕掛中の変更であっても安心してレビューの依頼ができます。

WIPマージリクエストの詳細

プッシュとマージを特定のユーザーに制限

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

保護ブランチの機能を拡張して、保護ブランチにプッシュとマージができるユーザーを選択できます。

保護ブランチの詳細

保護タグ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

保護タグに対して、きめ細かいアクセス制御ができます。

保護タグの詳細

統合されたカスタムのプロジェクトテンプレート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

新しいプロジェクトを作成するときは、いくつかの実用的なサンプルコードや CI が予め設定されている定義済みのテンプレートからプロジェクトを開始することができます。 さらに、グループを割り当ててカスタムのプロジェクトテンプレートを定義できます。このグループの子プロジェクトは、新しいプロジェクトを作成するときのテンプレートとして使用できます。

プロジェクトテンプレートを表示

脆弱性管理

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab’s vulnerability management is about ensuring assets and applications are scanned for vulnerabilities. It also includes the processes to record, manage, and mitigate those vulnerabilities.

Vulnerability management helps identify meaningful sets of vulnerabilities, in both your assets and application code, that can be mitigated, managed, and acted upon by your whole team—not just the security organization. It also provides a unified interface to the systems teams are already using for managing results from the ~”devops::secure” stage so there is always a single source of truth and single place for managing security results.

Learn more about Vulnerability Management

Gitのプッシュでプロジェクトを作成

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

新しいプロジェクトを作成したい場所にプッシュすると、自動的に新しいプライベートプロジェクトが作成されます。

プロジェクト作成の詳細

フォークしたリポジトリの Git オブジェクトに関する重複排除

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Git オブジェクトをプールすることで、フォークネットワークに関するディスクストレージ要件を削減します。

オブジェクトプールの詳細

Pipeline status visible in pull/merge request

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Status and results of pipeline runs are viewable at least in summary from the merge/pull request that they are part of.

S/MIME Signed Commits

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

署名コミットを使用すると、特定のユーザーによってコミットされたことを証明できます。

Read more about S/MIME signed commits

* このページの情報は最新ではありません。最新の情報は 本家サイト をご確認ください。

GitLabはGitLab, Inc.の商標です。その他のすべての商標・ロゴマークの権利はそれぞれの所有者に帰属します。

GitLabはオープンコア

GitLabの競合製品のほとんどはソースコードを公開していませんが、GitLabはオープンコア製品です。 GitLabコミュニティエディションは完全なオープンソースで、 GitLabエンタープライズエディションはオープンコア(プロプライエタリ)です。

ソースコードにアクセス

クローズドソースなソフトウェアと異なり、 コミュニティエディションエンタープライズエディションの ソースコードを確認したり、修正することができます。 機能の追加やカスタマイズのために、サーバーのソースコードを修正したり、GitLabのリポジトリをフォークすることができます。 独自に実施した変更はメインのソースコードにフィードバックし、マージされるように挑戦することを推奨します。 それにより、他のユーザーの役に立つ上に、自身のインスタンスのアップデート作業を簡単に保つことができます。

コミュニティからの貢献

GitLabには毎月数百人からの貢献があります。 顧客・ユーザー・GitLab社員のすべてが毎月のリリースに貢献しています。 このことは、簡単に使用できる便利なユーザー管理のような、 組織にとって本当に必要な機能の開発に役立っています。

長期利用に最適

GitLabは、数十万の組織が利用し、頻繁にソフトウェアへ貢献しています。 GitLabには堅牢なコミュニティが存在します。 つまり、GitLabは単一企業のサポートに依存していないので、 長期利用に適しています。

毎月、新しい安定版がリリース

毎月、機能の改善と新機能の追加と不具合の修正のすべてが適用された、 GitLabの新しい安定版がリリースされます。 これにより、GitLabはとても迅速に顧客の要望に応えることができます。

日本語でのサポートが必要ですか?

国内の正規代理店へお問い合わせください。

Gitlab x icon svg