YAML とクラシック パイプラインの比較
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines を使用すると、開発者はバッチ ファイルの実行から、それぞれのアプリケーションに対応する継続的インテグレーション (CI) と継続的デリバリー (CD) の完全なソリューションの設定まで、さまざまなタスクを自動化できます。
Azure Pipelines では、さまざまな言語、プラットフォーム、ツールがサポートされています。また、2 種類のパイプラインが用意されており、YAML ベースのエディターとクラシック パイプライン エディターから選べます。
Note
Azure Pipelines を初めて使用する場合は、YAML パイプラインから開始することをお勧めします。 既存のクラシック パイプラインの場合は、引き続き使用するか、YAML パイプラインに移行するか選択できます。
YAML を使用するパイプラインの定義
パイプライン構成は、アプリケーションと共に azure-pipelines.yml
という名前の YAML ファイルに存在します。
YAML ファイルは、アプリケーション コードと共にバージョン管理され、同じ分岐構造に従います。
各ブランチでパイプラインをカスタマイズするには、
azure-pipelines.yml
ファイルを編集します。パイプライン構成をバージョン コントロールで整理しておくと、問題や予期しない結果を引き起こす変更があった場合に、それをコードベース内で簡単に特定できます。
手順については、Git リポジトリからサンプル アプリケーションを構築するためのステップ バイ ステップ ガイドの「最初のパイプラインの作成」を参照してください。
クラシック インターフェイスを使用してパイプラインを定義する
クラシック パイプラインは、クラシック ユーザー インターフェイス エディターを使用して Azure DevOps Web ポータルで作成されます。 パイプラインを定義して、コードのビルドとテストを済ませたら成果物 (バイナリ) を発行できます。 さらに、リリース パイプラインを定義し、バイナリ (成果物) を使用して特定のターゲットにデプロイできます。
クラシック パイプラインは、クラシック ユーザー インターフェイス エディターを使用して Azure DevOps Web ポータルで作成されます。 ビルド パイプラインを定義し、コードのビルドとテストを済ませたら成果物 (バイナリ) を発行できます。 さらに、リリース パイプラインを定義し、バイナリ (成果物) を使用して特定のターゲットにデプロイできます。
手順については、クラシック パイプラインを使用してアプリケーションをビルドしデプロイするためのステップ バイ ステップ ガイドの「ビルドとデプロイ」を参照してください。
機能の利用可能性
機能 | 説明 | YAML | YAML パイプライン | クラシック リリース |
---|---|---|---|---|
エージェント | 仮想マシンまたは物理マシンで実行され、Azure Pipelines で定義されたタスクを実行するソフトウェア コンポーネント。 | ドキュメント | ドキュメント | ドキュメント |
承認 | ステージへのデプロイ前に、指定された承認者に承認を求めて、デプロイ ワークフローを制御します。 | ドキュメント | ドキュメント | |
アイテム | バイナリとさまざまな種類のパッケージをダウンロードして、異なる宛先に発行します。 | ドキュメント | ドキュメント | ドキュメント |
キャッシュ | 以前の実行から依存関係をキャッシュして再利用し、ビルド時間を短縮します。 | ドキュメント | ドキュメント | |
条件 | ステップ、ジョブ、またはステージの実行条件を指定できます。 | ドキュメント | ドキュメント | ドキュメント |
コンテナー ジョブ | コンテナーで実行するジョブを指定します。 | ドキュメント | ||
確認要求 | パイプラインに必要な機能が実行中のエージェントに存在することを確認します。 | ドキュメント | ドキュメント | ドキュメント |
依存関係 | 次のステージを実行するために満たす必要がある要件を指定します。 | ドキュメント | ドキュメント | |
デプロイ グループと環境 | デプロイ グループ (クラシック): それぞれにデプロイ エージェントを備えたターゲット マシンのセットを定義します。 環境 (YAML): デプロイのターゲットとなるリソースのコレクション。 |
ドキュメント | ドキュメント | |
デプロイ ジョブ | 環境に対して順番に実行されるデプロイ ステップのコレクション。 | ドキュメント | ||
ゲート | デプロイを完了する前に、外部サービスからの正常性シグナルを評価して、リリース制御を自動化します。 | ドキュメント | ||
ジョブ | 実行スケジュールの設定が可能な最小の作業単位を形成する一連の順次ステップ。 | ドキュメント | ドキュメント | ドキュメント |
Library | Azure Pipelines で使用できる資産のコレクション。 ライブラリには、変数グループとセキュリティで保護されたファイルの 2 種類の資産が含まれています。 | ドキュメント | ドキュメント | ドキュメント |
サービス接続 | ジョブでタスクを実行するために必要な外部サービスへの接続を有効にします。 | ドキュメント | ドキュメント | ドキュメント |
サービス コンテナー | コンテナー化されたサービスのライフサイクルを管理できるようになります。 コンテナー ジョブで最も一般的に使用されます。 | ドキュメント | ||
ステージ | パイプライン内のジョブを整理します。 | ドキュメント | ドキュメント | |
タスク グループ | 一連のタスクを 1 つの再利用可能なタスクにカプセル化します。 | ドキュメント | ドキュメント | |
タスク | パイプライン ジョブを構成するステップを定義する構成要素。 | ドキュメント | ドキュメント | ドキュメント |
テンプレート | 再利用可能なコンテンツ、ロジック、およびパラメーターを定義します。 | ドキュメント | ||
トリガー | パイプラインを実行するイベントを定義します。 | ドキュメント | ドキュメント | ドキュメント |
変数 | パイプラインの実行中に使用できる値のためのプレースホルダー。 | ドキュメント | ドキュメント | ドキュメント |
変数グループ | 複数のパイプライン間で管理し共有する値とシークレットを格納するために使用します。 | ドキュメント | ドキュメント | ドキュメント |
機能 | 説明 | YAML | YAML パイプライン | クラシック リリース |
---|---|---|---|---|
エージェント | 仮想マシンまたは物理マシンで実行され、Azure Pipelines で定義されたタスクを実行するソフトウェア コンポーネント。 | ドキュメント | ドキュメント | ドキュメント |
承認 | ステージへのデプロイ前に、指定された承認者に承認を求めて、デプロイ ワークフローを制御します。 | ドキュメント | ドキュメント | |
アイテム | バイナリとさまざまな種類のパッケージをダウンロードして、異なる宛先に発行します。 | ドキュメント | ドキュメント | ドキュメント |
条件 | ステップ、ジョブ、またはステージの実行条件を指定できます。 | ドキュメント | ドキュメント | ドキュメント |
コンテナー ジョブ | コンテナーで実行するジョブを指定します。 | ドキュメント | ||
確認要求 | パイプラインに必要な機能が実行中のエージェントに存在することを確認します。 | ドキュメント | ドキュメント | ドキュメント |
依存関係 | 次のステージを実行するために満たす必要がある要件を指定します。 | ドキュメント | ドキュメント | |
デプロイ グループと環境 | デプロイ グループ (クラシック): それぞれにデプロイ エージェントを備えたターゲット マシンのセットを定義します。 環境 (YAML): デプロイのターゲットとなるリソースのコレクション。 |
ドキュメント | ドキュメント | |
デプロイ ジョブ | 環境に対して順番に実行されるデプロイ ステップのコレクション。 | ドキュメント | ||
ゲート | デプロイを完了する前に、外部サービスからの正常性シグナルを評価して、リリース制御を自動化します。 | ドキュメント | ||
ジョブ | 実行スケジュールの設定が可能な最小の作業単位を形成する一連の順次ステップ。 | ドキュメント | ドキュメント | ドキュメント |
Library | Azure Pipelines で使用できる資産のコレクション。 ライブラリには、変数グループとセキュリティで保護されたファイルの 2 種類の資産が含まれています。 | ドキュメント | ドキュメント | ドキュメント |
サービス接続 | ジョブでタスクを実行するために必要な外部サービスへの接続を有効にします。 | ドキュメント | ドキュメント | ドキュメント |
ステージ | パイプライン内のジョブを整理します。 | ドキュメント | ドキュメント | |
タスク グループ | 一連のタスクを 1 つの再利用可能なタスクにカプセル化します。 | ドキュメント | ドキュメント | |
タスク | パイプライン ジョブを構成するステップを定義する構成要素。 | ドキュメント | ドキュメント | ドキュメント |
テンプレート | 再利用可能なコンテンツ、ロジック、およびパラメーターを定義します。 | ドキュメント | ||
トリガー | パイプラインを実行するイベントを定義します。 | ドキュメント | ドキュメント | ドキュメント |
変数 | パイプラインの実行中に使用できる値のためのプレースホルダー。 | ドキュメント | ドキュメント | ドキュメント |
変数グループ | 複数のパイプライン間で管理し共有する値とシークレットを格納するために使用します。 | ドキュメント | ドキュメント | ドキュメント |
機能 | 説明 | YAML | YAML パイプライン | クラシック リリース |
---|---|---|---|---|
エージェント | 仮想マシンまたは物理マシンで実行され、Azure Pipelines で定義されたタスクを実行するソフトウェア コンポーネント。 | ドキュメント | ドキュメント | ドキュメント |
承認 | ステージへのデプロイ前に、指定された承認者に承認を求めて、デプロイ ワークフローを制御します。 | ドキュメント | ドキュメント | |
アイテム | バイナリとさまざまな種類のパッケージをダウンロードして、異なる宛先に発行します。 | ドキュメント | ドキュメント | ドキュメント |
条件 | ステップ、ジョブ、またはステージの実行条件を指定できます。 | ドキュメント | ドキュメント | ドキュメント |
コンテナー ジョブ | コンテナーで実行するジョブを指定します。 | ドキュメント | ||
確認要求 | パイプラインに必要な機能が実行中のエージェントに存在することを確認します。 | ドキュメント | ドキュメント | ドキュメント |
依存関係 | 次のステージを実行するために満たす必要がある要件を指定します。 | ドキュメント | ドキュメント | |
デプロイ グループ | それぞれにデプロイ エージェントを備えたターゲット マシンのセットを定義します。 | ドキュメント | ||
デプロイ ジョブ | 環境に対して順番に実行されるデプロイ ステップのコレクション。 | ドキュメント | ||
ゲート | デプロイを完了する前に、外部サービスからの正常性シグナルを評価して、リリース制御を自動化します。 | ドキュメント | ||
ジョブ | 実行スケジュールの設定が可能な最小の作業単位を形成する一連の順次ステップ。 | ドキュメント | ドキュメント | ドキュメント |
Library | Azure Pipelines で使用できる資産のコレクション。 ライブラリには、変数グループとセキュリティで保護されたファイルの 2 種類の資産が含まれています。 | ドキュメント | ドキュメント | ドキュメント |
サービス接続 | ジョブでタスクを実行するために必要な外部サービスへの接続を有効にします。 | ドキュメント | ドキュメント | ドキュメント |
ステージ | パイプライン内のジョブを整理します。 | ドキュメント | ドキュメント | |
タスク グループ | 一連のタスクを 1 つの再利用可能なタスクにカプセル化します。 | ドキュメント | ドキュメント | |
タスク | パイプライン ジョブを構成するステップを定義する構成要素。 | ドキュメント | ドキュメント | ドキュメント |
テンプレート | 再利用可能なコンテンツ、ロジック、およびパラメーターを定義します。 | ドキュメント | ||
トリガー | パイプラインを実行するイベントを定義します。 | ドキュメント | ドキュメント | ドキュメント |
変数 | パイプラインの実行中に使用できる値のためのプレースホルダー。 | ドキュメント | ドキュメント | ドキュメント |
変数グループ | 複数のパイプライン間で管理し共有する値とシークレットを格納するために使用します。 | ドキュメント | ドキュメント | ドキュメント |