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


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

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

注記

Tekton Hub のパブリックインスタンス (hub.tekton.dev) は非推奨になり、今後のリリースで削除される予定です。Tekton Pipeline および Task リソースの代替として Artifact Hub を使用します。

Artifact Hub はオープンソースであり、セルフホスティングをサポートしているため、Tekton Pipeline および Task リソースをより柔軟に管理できます。

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