クラシック パイプラインを YAML に移行する
Azure DevOps Services
YAML を使用できるように既存のクラシック パイプラインを変換して、Azure Pipelines の使用を開始します。 YAML ベースのパイプラインを使用すると、CI/CD 戦略をコードとして実装し、その履歴の確認、バージョンの比較、変更履歴、注釈付けなどを行うことができます。
クラシック パイプラインを変換すると、最終製品は 2 つのパイプラインになります。 新しい YAML パイプラインが 1 つ、廃止できるクラシック パイプラインが 1 つです。 クラシック パイプラインの実行履歴は、クラシック パイプラインに残ります。
前提条件
始める前に、次の項目が用意されていることを確認してください。
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- アクティブな Azure DevOps 組織。 Azure Pipelines にサインアップします。
- クラシック ユーザー インターフェイス (UI) エディターを使用する作業パイプライン。
- コード内のサンプル YAML パイプライン ファイル。 次のセクションでサンプルの YAML パイプラインを作成します。
YAML パイプライン定義を作成する
サンプル YAML パイプラインを作成するには、次の手順を行います。このパイプラインは、クラシック UI エディターからエクスポートしたコードを使用して後で更新します。
組織 (
https://dev.azure.com/{yourorganization}
) にサインインし、プロジェクトを選択します。[パイプライン] を選択してから [新しいパイプライン] を選択します。
ソース コードの場所として、[GitHub] または [Azure Repos Git] のいずれかを選択します。
リポジトリを選択します。
[パイプラインの構成] ページで、 [スタート パイプライン] を選択します。
[保存および実行] を選択します。
自分のコミット メッセージを入力し、[メイン ブランチに直接コミット] を選択して、[保存および実行] をもう一度選択します。 新しい実行が開始され、リポジトリにコミットされます。 実行が終了するまで待ちます。
クラシック パイプラインをエクスポートする
エディターで使用できる YAML ファイルにクラシック パイプラインをエクスポートするには、次の手順を行います。
[Pipelines]>[Pipelines] に移動します。
クラシック ビルド デザイナーでクラシック パイプラインを開きます。
省略記号 (...) を選択して、[YAML にエクスポート] を選択します。
ダウンロードした YAML ファイルをコード エディターで開きます。
YAML パイプラインにクラシック UI で定義された変数が含まれている場合は、パイプライン設定 UI または YAML ファイルで変数をもう一度定義します。 詳細については、「変数の定義」をご覧ください。
YAML ファイル内の
cron
スケジュールを確認します。 既定では、YAML でのcron
スケジュールは UTC にあります。 クラシック パイプラインでは、組織のタイムゾーンにあります。 詳細については、「パイプラインのスケジュールを構成する」を参照してください。タスク アシスタントを使用して、YAML ファイルに他の変更を加えます。 タスク アシスタントは画面の右側にあるペインであり、YAML ステップを正しく作成および変更するのに役立ちます。
パイプラインを保存して実行してください。
リソースをクリーンアップする
このサンプル パイプラインを使用しなくなった場合は、プロジェクトから削除してください。 削除は永続的であり、すべてのビルドと関連する成果物が対象になります。
省略記号 (...) を選択し、[削除] を選択します。
パイプラインの名前を入力して完全に削除してから、[削除] を選択します。
よく寄せられる質問
YAML パイプラインには、ビルドに失敗したときに作業項目を作成するためのタスクはありますか?
YAML パイプラインには、クラシック ビルド パイプラインのような [失敗時に作業項目を作成] 設定はありません。 この機能を自分で作成するには、いくつかのオプションがあります。
- スクリプトまたは PowerShell タスクを使用すると、REST API を呼び出すことができます。
- Azure CLI を使用すると、パイプラインで az boards work-item create を呼び出すことができます。 CLI を使用してエラー時にバグを作成する例を参照してください。
次のステップ
YAML とクラシック パイプラインの機能の違いについて説明します。