ビルドとリリースのタスク グループ (クラシック)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Note

Microsoft Visual Studio Team Foundation Server 2018 以前のバージョンでは、名前付けに次の違いがあります。

  • ビルドとリリースのためのパイプラインはビルドとリリースのためのパイプラインです。そしてそれらは定義と呼ばれます。
  • 実行ビルドと呼ばれます。
  • サービス接続サービスエンドポイントと呼ばれます。
  • ステージ環境と呼ばれます
  • ジョブは(フェーズと呼ばれます。

Note

タスク グループは、YAML パイプラインではサポートされていません。 そのような場合、代わりに、テンプレートを使用できます。 「YAML スキーマ参照」を参照してください。

タスク グループを使用すると、ビルドまたはリリース パイプラインで既に定義されている一連のタスクを、他のタスクと同じようにビルドまたはリリース パイプラインに追加できる再利用可能な 1 つのタスクにカプセル化することができます。 カプセル化されたタスクからパラメーターを構成変数として抽出し、残りのタスク情報を抽象化することができます。

新しいタスク グループは、タスク カタログに自動的に追加され、他のリリース パイプラインやビルド パイプラインに追加できる状態になります。 タスク グループはプロジェクト レベルで格納され、プロジェクト スコープの外ではアクセスできません。

タスク グループは、すべてのアプリケーションのデプロイ手順を標準化して一元的に管理する方法です。 定義にタスク グループを含めて、タスク グループに対して一元的に変更を加えると、その変更は、そのタスク グループを使用するすべての定義に自動的に反映されます。 それぞれを個別に変更する必要はありません。

タスク グループを作成する前に...

  • タスク グループに含めるすべてのタスクに、$(MyVariable) などの変数として定義されたパラメーターがあることを確認します。ここで、タスク グループを使用するときにこれらのパラメーターを構成できるようにしてください。 タスクで使用される変数は自動的に抽出され、タスク グループのパラメーターに変換されます。 これらの構成変数の値は、タスク グループの既定値に変換されます。

  • パラメーターに値 (変数ではなく) を指定する場合、その値は固定パラメーター値になり、タスク グループにパラメーターとして公開することはできません。

  • (変数ではなく) 値を指定した、または値を指定しなかったカプセル化されたタスクのパラメーターは、ビルドまたはリリース パイプラインに追加された場合、タスク グループで構成することはできません。

  • タスクの条件 (PowerShell スクリプト タスクの "前のタスクが失敗した場合にのみこのタスクを実行する" など) は、タスク グループで構成でき、これらの設定はタスク グループと共に保持されます。

  • タスク グループを保存するときに、新しいタスク グループの名前と説明を指定できます。また、[タスク カタログ] ダイアログにそれを表示する場所に当たる、カテゴリを選択することもできます。 各パラメーターの既定値を変更することもできます。

  • ビルドまたはリリースをキューに入れると、カプセル化されたタスクが抽出され、タスク グループ パラメーターについて入力した値がタスクに適用されます。

  • タスク グループに加える変更は、タスク グループのすべてのインスタンスに反映されます。

タスク グループを作成する

  1. 含める予定のすべてのタスクに、リンクされたパラメーターが含まれていないことを確認します。 これを行う簡単な方法は、プロセス全体の設定パネルで [リンクをすべて解除] を選択することです。

    Unlinking parameters for all tasks

  2. ビルド パイプラインまたはリリース パイプラインで一連のタスクを選択し、ショートカット メニューを開き、[タスク グループの作成] を選択します。

    Creating a task group from a release pipeline list of tasks

  3. 新しいタスク グループの名前と説明、および追加先のカテゴリ ([タスクの追加] パネルのタブ) を指定します。

  4. [作成] を選択すると、新しいタスク グループが作成され、パイプラインで選択したタスクが置き換えられます。

  5. 定義済みの変数を除く、基になるタスクからのすべての '$(vars)' が、新しく作成されたタスク グループの必須パラメーターとして表示されます。

    たとえば、タスク入力 $(foobar) があるとします。これを、パラメーター化する意図はありません。 ただし、タスク グループを作成すると、タスク入力はタスク グループ パラメーター 'foobar' に変換されます。 これで、タスク グループ パラメーター 'foobar' の既定値を $(foobar) として指定できるようになりました。 これにより、実行時に、展開されたタスクで意図したのと同じ入力を確実に取得できるようになります。

  6. 更新したパイプラインを保存します。

タスク グループを管理する

現在のプロジェクトで作成したすべてのタスク グループは、Azure Pipelines[タスク グループ] ページに一覧表示されます。

Listing task groups

[エクスポート] ショートカット コマンドを使用して、タスク グループのコピーを JSON パイプラインとして保存し、[インポート] アイコンを使用して、以前に保存したタスク グループ定義をインポートします。 この機能を使用して、プロジェクトと企業間でタスク グループを転送したり、タスク グループのコピーをレプリケートして保存したりできます。

タスク グループ名を選択して、詳細ページを開きます。

Managing a task group

  • [タスク] ページでは、タスク グループを構成するタスクを編集できます。 カプセル化されたタスクごとに、変数以外のパラメーターのパラメーター値を変更したり、既存のパラメーター変数を編集したり、パラメーター値を変数との間で変換したりできます。 変更を保存すると、このタスク グループを使用するすべての定義で変更が取得されます。

タスク グループのすべての変数パラメーターが、パイプライン定義に必須パラメーターとして表示されます。 タスク グループ パラメーターの既定値を設定することもできます。

  • [履歴] タブでは、グループに対する変更の履歴を確認できます。

  • [参照] タブでは、このタスク グループを使用 (参照) する、すべてのビルド パイプラインとリリース パイプライン、およびその他のタスク グループの一覧を展開できます。 これは、変更が他のプロセスに予期しない影響を及ぼすことがないことを保証するのに役立ちます。

タスク グループのプレビューと更新バージョンを作成する

Azure Pipelines と TFS の組み込みタスクはすべて バージョン管理されています。 これにより、ビルド パイプラインとリリース パイプラインでは、新しいバージョンの開発、テスト、リリース中に、タスクの既存のバージョンを引き続き使用できます。 Azure Pipelines では、独自のカスタム タスク グループをバージョン管理できるため、これらは、同じように動作し、同じ利点を提供できます。

  1. タスク グループの編集が完了したら、[保存] ではなく [下書きとして保存] を選択します。

    Saving a draft update to a task group

  2. 文字列 -test がタスク グループのバージョン番号に追加されます。 変更に問題がなければ、[下書きの公開] を選択します。 プレビューとして発行するか、実稼働対応バージョンとして公開するかを選択できます。

    Publishing a draft version of a task group

  3. これで、更新されたタスク グループをビルドおよびリリース プロセスで使用できるようになります。既存のパイプラインのタスク グループのバージョン番号を変更するか、[タスクの追加] パネルからそれを追加してください。

    Using a preview version of a task group

    タスク グループを追加するときの既定値は、組み込みのタスクと同様に、プレビュー以外のバージョンの中で最も高いバージョンです。

  4. 更新されたタスク グループのテストが完了したら、[プレビューの公開] を選択します。 Preview 文字列が、バージョン番号文字列から削除されます。 これで、"実稼働対応" バージョンとして定義に表示されるようになります。

    Publishing a preview version of a task group

  5. このタスク グループが既に含まれているビルドまたはリリース パイプラインで、新しい "実稼働対応" バージョンを選択できるようになりました。 [タスクの追加] パネルからタスク グループを追加すると、新しい "実稼働対応" バージョンが自動的に選択されます。

    Using an updated version of a task group

タスク グループのバージョンの操作

タスク グループの更新は、マイナー バージョンまたはメジャー バージョンのいずれかになります。

マイナー バージョン

アクション: 編集後に、下書きとしてではなく、タスク グループを直接保存します。

効果: バージョン番号は変更されません。 たとえば、バージョン 1.0 のタスク グループがあるとします。 任意の数のマイナー バージョン更新 (1.11.21.3 など) を使用できます。パイプラインでは、タスク グループのバージョンは、1.* として表示されます。最新の変更がパイプライン定義に自動的に表示されます。

理由: これはタスク グループでの小さな変更であると想定されており、パイプライン定義でバージョンを編集せずに、パイプラインでこの新しい変更を使用することが予測されています。

メジャー バージョン

アクション: タスク グループを下書きとして保存した後、プレビューを作成し、タスク グループを検証してから、プレビューをメジャー バージョンとして公開します。

効果: タスク グループは、新しいバージョンに更新されます。 たとえば、バージョン 1.* のタスク グループがあるとします。 新しいバージョンは、2.*3.*4.* などとして公開されます。また、このタスク グループが使用されているすべてのパイプライン定義に、新しいバージョンの可用性に関する通知が表示されます。 ユーザーは、パイプライン内のタスク グループの新しいバージョンに明示的に更新する必要があります。

理由: 既存のパイプラインを壊す可能性がある大幅な変更がある場合は、それを徹底的にテストしてから新しいバージョンとしてロールアウトすることが望まれます。 ユーザーは、新しいバージョンにアップグレードするのか、それとも同じバージョンを維持するかを選択できます。 この機能は、通常のタスク バージョンの更新と同じです。

ただし、タスク グループの更新が破壊的変更ではなく、最初に検証してから、最新の変更をパイプラインで使用したい場合は、次の手順に従うことができます。

  1. 目的の変更でタスク グループを更新し、下書きとして保存します。 行った変更を含む新しい下書きタスク グループ '<タスク グループ名>-Draft' が作成されます。 また、この下書きタスク グループには、パイプラインで使用するためにアクセスできます。
  2. これで、プレビューとして公開するのではなく、テスト パイプラインでこの下書きタスク グループを直接使用できるようになりました。
  3. テスト パイプラインでこの新しい下書きタスク グループを検証し、自信が持てたら、メイン タスク グループに戻り、同じ変更を行い、直接保存します。 これはマイナー バージョンの更新プログラムとして取得されます。
  4. 新しい変更は、このタスク グループが使用されているすべてのパイプラインに表示されるようになります。
  5. 以上で、下書きタスク グループを削除できるようになりました。

ヘルプとサポート