次の方法で共有


パイプライン タスクを Azure DevOps にアップロードする

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

Azure DevOps 用の Node CLI (tfx-cli) を使用して、カスタムまたはインザボックスのパイプライン タスクを Azure DevOps 組織または Azure DevOps Server プロジェクト コレクションにアップロードします。

重要

インザボックス タスクを Azure DevOps Server インスタンスにアップロードすると、エージェントのバージョンやサーバー側のサポートがないため、一部のタスク機能がサポートされない場合があります。

tfx-cliの詳細については、GitHubの Azure DevOps 用の Node CLI を参照してください。

前提 条件

カテゴリ Requirements
アクセス許可 組織またはコレクション レベルの エージェント プール管理者 グループのメンバーシップ。 「セキュリティ グループ、サービス アカウント、およびアクセス許可」を参照してください。
トークン スコープ エージェント プール (読み取りと管理) を含む個人用アクセス トークン (PAT)、または Microsoft Entra トークン。 セキュリティを強化するために、AT よりも Entra トークンをお勧めします。
ツール グローバルにインストールされている最新バージョンの Node.jstfx-cli:npm install -g tfx-cli

tfx-cli でサインインする

タスクをアップロードする前に、tfx-cli を使用して Azure DevOps にサインインします。 その他の認証オプションについては、 Azure DevOps のクロスプラットフォーム CLI 認証に関するページを参照してください。

次のコマンドを実行し、メッセージが表示されたらサービス URL と PAT を指定します。

tfx login

環境に一致するサービス URL を使用します。

環境 URL 形式
Azure DevOps Services https://dev.azure.com/{organization}
Azure DevOps Server http://{server}:{port}/DefaultCollection

タスクのアップロード

ヒント

すぐに使用できるパイプライン タスクを更新する必要がある場合は、 azure-pipelines-tasks リポジトリを 複製できます。 次に、ガイドラインに従って必要なタスク をビルドします。タスクのビルド方法です。

tfx-cliを使用してタスクをアップロードします。

tfx build tasks upload --task-path <PATH_TO_TASK>

PATH_TO_TASK は、コンパイル済みタスクを含むフォルダーへのパスです ( task.jsonを含む)。

重要

パイプライン エージェントは、バージョン別にタスクをキャッシュします。 タスクを変更し、同じバージョン番号で再アップロードした場合、エージェントはキャッシュされたコピーを引き続き使用します。 task.json で少なくともパッチバージョンを更新してから、更新されたタスクをアップロードしてください。

アップロードを確認する

タスクが正常にアップロードされたことを確認します。

tfx build tasks list

出力には、各タスクの idnameversion など、サーバー上のすべてのタスクが一覧表示されます。

タスクを削除する

アップロードしたタスクを削除するには、その ID を指定します。 tfx build tasks list出力からタスク ID を取得します。

tfx build tasks delete --task-id <TASK_ID>

Warnung

タスクを削除すると、サーバーから削除されます。 削除されたタスクを参照するすべてのパイプラインは、次の実行で失敗します。

Troubleshooting

エラー 原因 修正する
401 未承認 PAT の有効期限が切れた、取り消された、または エージェント プール (読み取りおよび管理) スコープが見つからない。 適切なスコープを持つ新しい PAT を作成します。
403 禁止 アカウントが エージェント プール管理者 グループにありません。 組織の管理者に追加を依頼します。
タスクは既に存在します 既にサーバー上にあるのと同じバージョンをアップロードしました。 task.jsonでパッチバージョンをバンプし、もう一度アップロードします。

tfx-cli の詳細については、 Azure DevOps の Node CLI のドキュメントを参照してください