Azure DevOps Server
TFVCは、チームがリポジトリ内にあらゆるタイプのアーティファクトを保存できるようにする一元化されたバージョン管理システムである。TFVCは、クライアントツールを操作するときに、サーバーワークスペースとローカルワークスペースの2種類のワークスペースをサポートする。サーバーワークスペースを使用すると、開発者はチェックアウトのためにファイルをロックし、ファイルが編集されていることを他の開発者に通知できる。このモデルでよくある不満は、開発マシン上のファイルが読み取り専用としてマークされていることである。また、サーバーに接続できない場合は、開発者が「オフラインにする」必要がある。ローカルワークスペースは、これらの問題を回避するように設計されている。ローカルワークスペースのシナリオでは、ファイルは読み取り専用ではなく、作業する前にチェックアウトする必要はない。ファイルが開発者のローカルマシン上にある限り、サーバーが接続されているかどうかは関係ない。競合はチェックイン時に処理される。
リモートクライアントのパフォーマンスを向上させるために、Azure DevOpsにはプロキシサーバーをインストールする機能が含まれている。
Azure DevOpsの中核機能は「作業項目」である。作業項目は物事を表す。それは、達成する必要のある作業、追跡するリスク、テストケース、バグなどである。作業項目はXMLドキュメントを介して定義され、高度に拡張可能となっている。 作業項目は、開発フレームワークを提供するために、これらおよびその他の情報を含むプロセステンプレートに結合される。Azure DevOpsには、アジャイル、スクラム、CMMI向けMicrosoft Solutions Frameworkのプロセステンプレートが含まれている。チームは、組み込みのテンプレートを使用するか、サードパーティによって作成された使用可能な多くのテンプレートの1つを使用するかを選択できる。プロセステンプレートは、電動工具の一部であるプロセステンプレートエディタを使用してカスタマイズできる。
さまざまな関係を使用して作業項目を相互にリンクし、作業項目の階層ツリーまたは作業項目間のフラットな関係を作成できる。作業項目は、Webページ、ファイル共有上のドキュメント、SharePointなどの別のリポジトリに保存されているドキュメントなどの外部アーティファクトにリンクすることもできる。作業項目は、ソースコード、ビルド結果、テスト結果、およびソース管理内の項目の特定のバージョンにリンクすることもできる。
作業項目システムの柔軟性により、Azure DevOpsは、要件管理からバグ追跡、リスクと問題の追跡、レビューの結果の記録まで、多くの役割を果たすことができる。拡張可能なリンク機能により、要件からソースコード、テストケースおよび結果までのトレーサビリティを実現し、監査目的および変更の履歴理解のためにレポートすることができる。
さらに、開発者がEclipse用のTeam Explorer Everywhereプラグインを使用したくない場合は、eGit を使用してAzure DevOpsに接続することを選択できる。
Gitを使用しても、Azure DevOpsワークアイテムまたはビルドシステムを使用するメリットが損なわれることはない。Gitでコードをチェックインするときに、チェックインコメントでワークアイテムIDを参照すると、チェックインが指定されたワークアイテムに関連付けられる。同様に、Team BuildもGitプロジェクトをビルドする。
Azure DevOpsをGitリポジトリとして使用する主な理由の1つは、SQL Serverに支えられており、Team Foundationバージョン管理(TFVC)と同じ保護が提供されていることである。これにより、開発者は、プロジェクトのタイプと自分に最適なワークスタイルを選択する際にいくつかの選択肢が得られる。
クラウドサービスは、Microsoft Azureクラウドプラットフォーム上に構築されている。オンプレミスバージョンのAzure DevOpsと同じコードを少し変更して使用し、最新の機能を実装している。Azure DevOpsはセットアップを必要としない。ユーザーがマイクロソフトアカウントでサインインする環境をセットアップし、プロジェクトを作成して、チームメンバーを追加することができる。短い開発サイクルで開発された新機能は、最初にクラウドバージョンに追加される。これらの機能は、約3か月間隔で、更新としてオンプレミスバージョンに実装される。