5.3. Pipelines as Code リゾルバーアノテーション


Pipelines as Code リゾルバーアノテーションを使用して、Task および Pipeline カスタムリソース (CR) 定義を参照できます。Pipelines as Code リゾルバーは、アノテーションで指定した場所から定義を取得します。リモートタスクのフェッチまたは解析中にエラーが発生した場合、Pipelines as Code はタスクの処理を停止します。

パイプライン実行でリモートタスクを参照する場合や、PipelineRun または PipelineSpec オブジェクトでパイプラインを参照する場合、Pipelines as Code リゾルバーは参照されたリソースを自動的に解決し、結果として得る PipelineRun カスタムリソース (CR) にそれを含めます。

5.3.1. リモートタスクアノテーション

リモートタスクを含めるには、以下のアノテーションの例を参照してください。

Tekton Hub でのリモートタスクの参照

  • Tekton Hub で単一のリモートタスクを参照します。

    ...
      pipelinesascode.tekton.dev/task: "git-clone" 
    1
    
    ...
    Copy to Clipboard Toggle word wrap
    1
    Pipelines as Code には、Tekton Hub からのタスクの最新バージョンが含まれています。
  • Tekton Hub から複数のリモートタスクを参照します。

    ...
      pipelinesascode.tekton.dev/task: "[git-clone, golang-test, tkn]"
    ...
    Copy to Clipboard Toggle word wrap
  • -<NUMBER> 接尾辞を使用して、Tekton Hub から複数のリモートタスクを参照します。

    ...
      pipelinesascode.tekton.dev/task: "git-clone"
      pipelinesascode.tekton.dev/task-1: "golang-test"
      pipelinesascode.tekton.dev/task-2: "tkn" 
    1
    
    ...
    Copy to Clipboard Toggle word wrap
    1
    デフォルトでは、Pipelines as Code は文字列を Tekton Hub から取得する最新のタスクとして解釈します。
  • Tekton Hub からリモートタスクの特定のバージョンを参照します。

    ...
      pipelinesascode.tekton.dev/task: "[git-clone:0.1]" 
    1
    
    ...
    Copy to Clipboard Toggle word wrap
    1
    Tekton Hub からの git-clone リモートタスクの 0.1 バージョンを参照します。

URL を使用するリモートタスク

...
  pipelinesascode.tekton.dev/task: "<https://remote.url/task.yaml>" 
1

...
Copy to Clipboard Toggle word wrap

1
リモートタスクへの公開 URL。
注記
  • GitHub を使用し、リモートタスク URL が Repository カスタムリソース定義 (CRD) と同じホストを使用する場合、Pipelines as Code は GitHub トークンを使用し、GitHub API を使用して URL を取得します。

    たとえば、https://github.com/<organization>/<repository> のようなリポジトリー URL があり、リモート HTTP URL が https://github.com/<organization>/<repository>/blob/<mainbranch>/<path>/<file> のような GitHub ブロブを参照している場合に、Pipelines as Code は、GitHub アプリトークンを使用して、そのプライベートリポジトリーからタスク定義ファイルをフェッチします。

    パブリック GitHub リポジトリーで作業する場合、Pipelines as Code は https://raw.githubusercontent.com/<organization>/<repository>/<mainbranch>/<path>/<file> などの GitHub の raw URL と同様に機能します。

  • GitHub アプリケーショントークンは、リポジトリーが置かれている所有者または組織に対してスコープが設定されます。GitHub Webhook メソッドを使用すると、個人トークンが許可されている任意の組織のプライベートまたはパブリックリポジトリーを取得できます。

リポジトリー内の YAML ファイルからのタスク参照

...
pipelinesascode.tekton.dev/task: "<share/tasks/git-clone.yaml>" 
1

...
Copy to Clipboard Toggle word wrap

1
タスク定義を含むローカルファイルへの相対パス。

5.3.2. リモートパイプラインアノテーション

リモートパイプラインアノテーションを使用すると、複数のリポジトリーでパイプライン定義を共有できます。

...
    pipelinesascode.tekton.dev/pipeline: "<https://git.provider/raw/pipeline.yaml>" 
1

...
Copy to Clipboard Toggle word wrap
1
リモートパイプライン定義への URL。同じリポジトリー内のファイルの場所を指定することもできます。
注記

アノテーションを使用してパイプライン定義を 1 つだけ参照できます。

5.3.2.1. リモートパイプラインのタスクをオーバーライドする

デフォルトでは、パイプライン実行でリモートパイプラインアノテーションを使用する場合、Pipelines as Code はリモートパイプラインの一部であるすべてのタスクを使用します。

パイプラインの実行にタスクのアノテーションを追加することで、リモートパイプラインのタスクをオーバーライドできます。追加されたタスクは、リモートパイプライン内のタスクと同じ名前を持つ必要があります。

たとえば、次のパイプライン実行定義を使用できます。

リモートパイプラインを参照し、タスクをオーバーライドするパイプライン実行定義の例

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  annotations:
    pipelinesascode.tekton.dev/pipeline: "https://git.provider/raw/pipeline.yaml"
    pipelinesascode.tekton.dev/task: "./my-git-clone-task.yaml"
Copy to Clipboard Toggle word wrap

この例では、https://git.provider/raw/pipeline.yaml にあるリモートタスクに git-clone という名前のタスクが含まれており、my-git-clone-task.yaml ファイルで定義されているタスクの名前も git-clone であると仮定します。

この場合は、パイプライン実行によりリモートパイプラインが実行されますが、パイプライン内の git-clone という名前のタスクが定義したタスクに置き換えられます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat