Azure DevOps Services |Azure DevOps Server 2022 および Azure DevOps Server 2019
Azure DevOps は、ソフトウェア開発チームに統合ツールを提供するクラウドベースのプラットフォームです。 これには、作業の計画、コードでの共同作業、アプリケーションのビルド、機能のテスト、運用環境へのデプロイに必要なものがすべて含まれます。
Azure DevOps には、すべてのチーム固有のニーズに対応するためのさまざまなサービス モデルが用意されています。 無料アクセス 版は小規模なチームがすぐに作業を開始するのに役立ちますが、多様なサブスクリプションプランと従量課金プランでは包括的なプロジェクト管理がサポートされます。
主な特性:
エンド ツー エンドのプロジェクト管理: Azure DevOps は、ソフトウェア プロジェクトの完全なライフサイクルをサポートするように設計されたサービスのまとまりのあるスイートです。 初期の計画と開発から、厳格なテスト、最終的なデプロイまで、あらゆるものが含まれます。
クライアント/サーバー モデルの配信: Azure DevOps はクライアント/サーバー モデルで動作し、サービスとの対話方法を柔軟に提供します。 Web インターフェイスは、ほとんどのサービスを利用するための便利な方法を提供し、すべての主要なブラウザーと互換性があります。 さらに、ソース管理、ビルド パイプライン、作業追跡などの特定のサービスでは、制御を強化するためのクライアント ベースの管理オプションが用意されています。
柔軟でスケーラブルなサービス オプション: Azure DevOps は、さまざまなサービス オプションを提供することで、あらゆる規模のチームに対応します。 小規模なチームの場合、多くのサービスは無料であり、初期投資なしで堅牢なプロジェクト管理ツールにアクセスできます。 大規模なチームや高度なニーズに対応する場合は、サブスクリプション モデルまたは従量課金制を利用してサービスにアクセスできます。
コア サービス
Azure DevOps には、次の統合サービスが含まれています。
Azure Boards: アジャイル ツール、かんばんボード、バックログ、ダッシュボードを使用して作業を計画および追跡します。 ユーザー ストーリー、バグ、タスクなどの作業項目を作成します。 スプリント計画、バーンダウン チャート、速度追跡を使用します。 チームのプロセスに合わせてワークフローと作業項目の種類をカスタマイズします。
シナリオの例: モバイル アプリ機能を計画している製品チームは、"ユーザー サインイン" のユーザー ストーリーを作成し、開発中に見つかったバグを追跡し、スプリント ボードを使用して 2 週間のイテレーション中の進行状況を監視します。
Azure Repos: 無制限のプライベート Git リポジトリをホストするか、ソース コード管理に Team Foundation バージョン管理 (TFVC) を使用します。 機能には、ブランチ ポリシー、コード レビューを含むプル要求、競合の解決、一般的な IDE やエディターとの統合が含まれます。
シナリオの例: 開発チーム のメンバーは、新しい機能の機能ブランチを作成し、コード レビュー用のプル要求を送信し、ブランチ ポリシーを使用して、メイン ブランチにマージする前にすべてのコードがレビューおよびテストされていることを確認します。
Azure Pipelines: 任意の言語、プラットフォーム、クラウドで動作する CI/CD パイプラインを使用してアプリケーションをビルド、テスト、デプロイします。 Docker コンテナー、Kubernetes、Azure、AWS、Google Cloud、またはオンプレミスへのデプロイをサポートします。 並列ジョブ、デプロイ ゲート、リリース承認が含まれます。
シナリオの例: すべてのコード コミットは、.NET Web アプリケーションをビルドし、単体テストを実行し、Docker コンテナーを作成し、運用環境のリリース前にテストするためにステージング環境にデプロイする自動化されたパイプラインをトリガーします。
Azure テスト 計画: 手動テスト ケース、探索的テスト セッション、自動テスト統合を使用してテストを計画、実行、追跡します。 テスト スイートの作成、テスト結果の追跡、スクリーンショットとビデオのキャプチャ、詳細なテスト レポートの生成を行います。
シナリオの例: QA チームは、ユーザー登録フローのテスト ケースを作成し、さまざまなブラウザーで手動テストを実行し、問題のスクリーンショットをキャプチャし、テスト結果をユーザー ストーリーにリンクして追跡できるようにします。
Azure Artifacts: NuGet、npm、Maven、Python、ユニバーサル パッケージなどのパッケージを作成、ホスト、共有し、チームや組織と共有します。 ビルド パイプラインと統合し、パッケージバージョンを管理し、アップストリームのソースとアイテム保持ポリシーを使用してアクセスを制御します。
シナリオの例: 開発チームは、共有認証ライブラリを作成し、それを NuGet パッケージとして Azure Artifacts に発行し、内部パッケージへのアクセスを制御しながら複数のプロジェクト間で参照します。
Azure DevOps サービスの連携方法
次の図は、開発ライフサイクル全体を通じてサービスがどのように統合されるかを示しています。
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Azure Boards │ │ Azure Repos │ │ Azure Pipelines │
│ │ │ │ │ │
│ • Plan features │────│ • Store code │────│ • Build apps │
│ • Track bugs │ │ • Code reviews │ │ • Run tests │
│ • Manage sprints│ │ • Branch policies│ │ • Deploy code │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Azure Test Plans│ │ Azure Artifacts │ │ Dashboards │
│ │ │ │ │ │
│ • Test planning │ │ • Package feeds │ │ • Project views │
│ • Manual testing│◄───│ • Version control│───►│ • Team metrics │
│ • Test reporting│ │ • Dependency mgmt│ │ • Build status │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Flow: Plan → Code → Build → Test → Deploy → Monitor → Repeat
一般的なワークフロー:
- Azure Boards で作業項目を計画する
- プル要求を使用した Azure Repos のコード機能
- Azure Pipelines と Azure Artifacts を使用したビルドとパッケージ化
- Azure Test Plans を使用して手動または自動でテストする
- Azure Pipelines を使用してさまざまな環境にデプロイする
- ダッシュボードを使用して進行状況とメトリックを監視する
- フィードバックと新しい要件に基づいて反復処理する
詳細については、「 Azure DevOps に接続するツールとクライアント」を参照してください。
ダッシュボード
Azure DevOps には、リアルタイムのプロジェクト データとワークフローを表示するカスタマイズ可能なダッシュボードが用意されています。 パーソナライズされたビューを作成して、チームの進行状況とパフォーマンスを監視します。
主な機能:
- 複数のダッシュボード: ビルドの状態、テスト結果、作業項目のクエリを表示するウィジェットを使用してダッシュボードを作成およびカスタマイズする
- クイック ナビゲーション: ダッシュボードを中央ハブとして使用して、プロジェクトのさまざまな領域にアクセスする
- 拡張性: Microsoft 以外のサービスを統合するか、カスタム拡張機能を作成して機能を拡張する
詳細については、 ダッシュボードのドキュメントを参照してください。
Azure Boards
最新のソフトウェア開発には、チーム間での効率的な作業追跡とコラボレーションが必要です。 Azure Boards には、開発ライフサイクル全体を通じて計画と追跡を効率化するアジャイル ツールが用意されています。
主な機能:
- 作業項目管理: ユーザー ストーリー、バグ、タスク、および機能の作成と更新
- クエリとグラフ: カスタム クエリを作成し、状態グラフを生成して進行状況を視覚化する
- バックログ管理: 作業に優先順位を付け、明確で実用的なバックログを維持する
- スプリント計画: 速度メトリックを使用してイテレーションを計画し、スプリントの進行状況を追跡する
- タスク ボード: 対話型かんばんボードを使用して作業状態を更新する
- ポートフォリオ管理: エピックからタスクまで階層的に作業を整理する
- スクラムサポート:リアルタイムボードを使用して毎日のスタンドアップとスプリントレビューを容易にする
Azure Boards では、複数の作業項目の種類がサポートされています。それぞれに、開発プロセスの進行状況を追跡するカスタマイズ可能なフィールドがあります。 スクラム、かんばん、スクラムバンのいずれを練習する場合でも、Azure Boards には、手法をサポートするためのバックログとボードが用意されています。
Teams はプロジェクトの状態を完全に可視化し、包括的なダッシュボードとレポートを使用してデータドリブンの意思決定と傾向の監視を可能にします。
詳細については、「Azure Boards とは」を参照してください。
Azure Repos
Azure Repos には、完全な変更履歴を維持しながら、コードベースでのシームレスなコラボレーションを可能にするソース管理システムが用意されています。 これらのリポジトリは、マルチ開発者プロジェクトに不可欠であり、開発全体の一貫性と調整を確保します。
Azure DevOps では、 Git と Team Foundation バージョン管理 (TFVC) の 2 つのソース管理オプションがサポートされています。
Git
Git は、開発者ごとにローカル リポジトリ のコピーを使用して分散バージョン管理を提供し、オフライン作業と柔軟な分岐を可能にします。 Git は、新しいプロジェクトの既定の選択肢です。
注
Azure DevOps の Git は、標準の Git です。 Visual Studio は、Microsoft 以外の Git サービスで使用できます。 Azure DevOps Server で Microsoft 以外の Git クライアントを使用することもできます。
主な機能:
- ファイルの確認: ファイルの詳細と変更履歴を調べる
- ファイルのダウンロードと編集: ローカル コピーを取得して変更を加える
- コミットの管理: コミットを追跡し、明確な変更履歴を維持する
- プルリクエストを使用する: 共同でコードのレビューを作成し、確認し、完了させる
- Git タグを使用する: リポジトリ履歴で特定のポイントをマークする
TFVC
Team Foundation バージョン管理 (TFVC) は、サーバー側の履歴管理を使用して一元化されたバージョン管理を提供します。 開発者は、サーバーが完全な変更履歴を保持している間、単一のファイル バージョンをローカルで操作します。
主な機能:
- 単一バージョンのワークフロー: 開発者は現在のファイル バージョンを操作し、複雑さを軽減する
- サーバー側の履歴: サーバーに安全に格納されているすべての変更とバージョン
- パスベースの分岐: 明確な組織を持つサーバーで管理されるブランチ
開発環境の統合
Azure DevOps では、広範なツール統合を使用したマルチプラットフォーム開発がサポートされています。
- クロスプラットフォームのサポート: Android、iOS、Linux、macOS、Windows 用のビルド
- IDE 統合: Android Studio、Eclipse、IntelliJ、Visual Studio、VS Code、Xcode で動作します
- 言語のサポート: .NET、Java、Node.js、Python、PHP、Ruby などをサポート
- クライアントの柔軟性: 任意の開発ツールで Git または TFVC を使用する
Azure Pipelines
Azure Pipelines では、ビルド、テスト、リリースのプロセスが自動化され、迅速で信頼性の高いソフトウェア配信が可能になります。
コア機能:
- 自動ビルド: 自動統合と検証を使用してコード コミットに基づいてビルドをトリガーする
- テスト統合: ビルド後にテストを実行して変更を検証し、問題を早期に検出する
- リリース パイプライン: ステージングから運用環境まで、複数の環境にビルドをデプロイする
主な機能:
- 継続的インテグレーション (CI):コードの変更を自動的にビルドしてテストする
- 継続的デリバリー (CD): 開発から本番環境までの信頼性の高いリリースを効率化する
- ビルドの自動化: 定義されたステップとトリガーを使用してビルド プロセスをカスタマイズする
- リリース管理: 複数環境のデプロイ パイプラインを構成する
- デプロイの自動化: 手動での作業とデプロイのエラーを減らす
- 承認ワークフロー: ビルドを昇格する前に検証レイヤーを追加する
- リリースの追跡: 環境間でのデプロイの監視
詳細については、「Azure Pipelines とは」を参照してください。
Azure Test Plans
Azure Test Plans を使用すると、手動、探索的、自動のテスト管理による包括的なテストが可能になります。
主な機能:
- ワークフローのカスタマイズ: プロジェクトのニーズに合わせてカスタマイズ可能なテスト 計画、スイート、ケースを作成する
- 追跡可能性: 要件を直接リンクして、エンドツーエンドの追跡のためにケースやバグをテストする
- テストの選択: 抽出条件ベースのテスト選択にクエリベースのテスト スイートを使用する
- 使いやすいインターフェイス: Excel に似たグリッド インターフェイスを使用してテスト ケースを管理する
- 再利用可能な要素: テスト間でテストステップとパラメーターを共有して一貫性を保つ
- コラボレーション: レビューとフィードバックのためにテスト計画を関係者と共有する
- クロスプラットフォーム実行: 任意のプラットフォーム上の任意のブラウザーからテストを実行する
- アクティビティの監視: リアルタイムのグラフとレポートを使用してテストの進行状況を追跡する
詳細については、 Azure Test Plans のドキュメントを参照してください。
Azure Artifacts
Azure Artifacts を使用すると、NuGet、npm、Maven、Python、およびユニバーサル パッケージのパッケージ管理が可能になります。 ビルド パイプラインと統合し、バージョンを管理し、アップストリームのソースとアイテム保持ポリシーを使用してアクセスを制御します。
主な機能:
- 複数のパッケージの種類: すべての主要なパッケージの種類を 1 つのフィードでホストする
- アップストリーム ソース: セキュリティを維持しながらパブリック リポジトリに接続する
- パッケージのバージョン管理: セマンティック バージョン管理とアイテム保持ポリシーを使用してバージョンを管理する
- アクセス制御: 詳細なアクセス管理を使用してフィードのアクセス許可を制御する
- ビルド統合: ビルド パイプラインでパッケージを自動的に発行して使用する
- コード検索: パス、ファイル拡張子、コードの種類によるフィルター処理を使用してリポジトリを検索する
コラボレーション サービス
Azure DevOps は、コミュニケーションとプロジェクトの追跡を効率化するために設計された次のサービスを通じてチームのコラボレーションを強化します。
- プロジェクト Wiki: プロジェクトの詳細、ガイドライン、ナレッジ ベースを、一元化された簡単にアクセスできる Wiki に文書化します。
- 作業項目のディスカッション: 作業項目フォーム内で直接会話を容易にし、コンテキストに応じたタイムリーなコミュニケーションを可能にします。
- 追跡可能性リンク: 作業項目、コミット、プル要求などの間のリンクを確立し、プロジェクト全体の包括的な追跡可能性を確保します。
- アラートと通知: カスタマイズされたアラートと変更通知を設定して、チーム メンバーがプロジェクトの更新や変更について常に通知されるようにします。
- フィードバック管理: フィードバックの 要求、提供、管理のプロセス を合理化して、プロジェクトの成果を継続的に改善します。
- 分析 と レポート: 分析サービスと Power BI レポートを使用して、プロジェクトのパフォーマンスに関する分析情報を得て、データ主導の意思決定を行います。
これらのコラボレーション サービスは、プロジェクトの需要と機会に迅速に対応できる、まとまりのある情報に基づいたチームを維持するために不可欠です。
サービス フック
サービス フックは、外部サービスとの対話を自動化し、プロジェクト イベントに応答します。 フックを構成して、通知を送信したり、アクションをトリガーしたり、ビルドが失敗したり、コードがコミットされたり、作業項目が変更された場合に Microsoft 以外のツールと統合したりできます。
主な機能:
- カスタム アプリの統合: Azure DevOps イベントに基づいてアプリケーションで自動アクションをトリガーする
- サービス ターゲット: さまざまな外部サービスに接続して、プロジェクト イベントへの自動応答を行う
使用可能な統合については、 Visual Studio Marketplace を参照してください。 詳細については、「 サービス フックとの統合」を参照してください。
Azure クラウドでホストされるサービス
Azure では、アプリケーションの開発とデプロイ用のクラウド サービスが提供されます。このサービスは、独立して動作するか、Azure DevOps と統合してシームレスなワークフローを実現します。
主な利点:
- 包括的なサポート: アプリケーション ライフサイクル全体のインフラストラクチャとプラットフォームの完全なサポート
- Azure DevOps との統合: 統合されたサービスによって統合された開発エクスペリエンスが作成される
完全なサービス カタログについては、 Azure 製品を参照してください。
管理サービス
Azure DevOps には、プロジェクトとチームを効果的に管理するための合理化された管理ツールが用意されています。
主な機能:
- Web ポータルの管理: Azure DevOps Web ポータルを使用して管理タスクを実行する
- 包括的な設定: 詳細な制御を使用してユーザー、チーム、プロジェクト、組織の詳細な設定を構成する
詳細については、 ユーザー、チーム、プロジェクト、および組織レベルの設定についてを参照してください。
主要な機能
プロジェクトマネジメント
- ユーザー ストーリー、機能、バグ、タスクを追跡する
- アジャイル手法を使用してスプリントとリリースを計画する
- バーンダウン チャートと速度追跡を使用して進行状況を監視する
- 作業項目の種類とワークフローをカスタマイズする
ソース管理
- 無制限のプライベート Git リポジトリをホストする
- 分岐、マージ、プル要求を含む Git ワークフローのサポート
- コメントと承認ポリシーを含むコード レビュー機能
- GitHub やその他の Git プロバイダーとの統合
ビルドとデプロイメント
- コード変更によってトリガーされる自動ビルドとの継続的インテグレーション
- .NET、Java、Node.js、Python、Android、iOS、Linux、macOS、Windows のマルチプラットフォーム サポート
- Azure、AWS、GCP、またはオンプレミス環境にデプロイする
- 開発、ステージング、運用全体にわたる複数環境のデプロイ
- 承認ゲートとデプロイ戦略を使用したリリース管理
- CI/CD を高速化するための複数のビルド エージェントを使用した並列処理
テストと品質
- 手動テスト ケースの管理と実行
- ビルド パイプラインでの自動テスト統合
- コード カバレッジとテスト レポート
- セキュリティスキャンとコンプライアンスチェック
Azure DevOps Services を選択する理由
Azure DevOps Services には、開発チームのいくつかの利点があります。
- クイック セットアップ: インフラストラクチャのセットアップやメンテナンスなしですぐに Azure DevOps の使用を開始する
- 自動更新: 手動操作なしで最新の機能とセキュリティ更新プログラムを入手する
- 世界規模: 99.9% SLA を使用する Azure のグローバル インフラストラクチャ上に構築
- セキュリティ: Microsoft Entra ID 統合、コンプライアンス認定、データ保護を使用したエンタープライズ レベルのセキュリティ
- 統合: GitHub、Visual Studio、VS Code、マーケットプレースからの数百の拡張機能と連携します
- 柔軟性: あらゆる開発スタック、言語、またはプラットフォームのサポート
- コラボレーション: チーム間の障壁を取り除き、開発ライフサイクル全体にわたってコラボレーションを促進する
価格とアクセス
- 小規模なチーム向け無料:最大 5 人のユーザーがすべての基本的な機能にアクセスできます
- 従量課金制: 必要に応じて Basic または Basic + Test Plans のライセンスを持つユーザーを追加する
- 無制限の利害関係者: 無制限の利害関係者がダッシュボードと作業項目を表示するための無料アクセス
Azure DevOps Server
Azure DevOps Server は、データをオンプレミスに保持する必要がある組織や、クラウド サービスで使用できない特定のカスタマイズが必要な組織で使用できます。 これには Azure DevOps Services と同じコア サービスが含まれていますが、独自のインフラストラクチャとメンテナンスが必要です。
Azure DevOps Server の詳細については、「 Azure DevOps Server のインストール」を参照してください。
作業の開始
Azure DevOps の使用を開始する準備はできましたか? 次の手順を実行します。
- 無料の組織を作成 する - Azure DevOps Services 組織を設定する
- 最初のプロジェクトを作成 する - 作業の整理を開始する
- チーム メンバーを招待 する - チーム メンバーを追加して共同作業を行う
- リポジトリをインポートまたは作成する - コードを Azure Repos に取り込む
- 最初のパイプラインを設定する - ビルドとデプロイを自動化する