5.3. Pipelines as Code でのリモートパイプラインアノテーションの使用
リモートパイプラインアノテーションを使用すると、複数のリポジトリーでパイプライン定義を共有できます。
...
pipelinesascode.tekton.dev/pipeline: "<https://git.provider/raw/pipeline.yaml>" 1
...
- 1
- リモートパイプライン定義への URL。同じリポジトリー内のファイルの場所を指定することもできます。
アノテーションを使用してパイプライン定義を 1 つだけ参照できます。
5.3.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"
この例では、https://git.provider/raw/pipeline.yaml
にあるリモートタスクに git-clone
という名前のタスクが含まれており、my-git-clone-task.yaml
ファイルで定義されているタスクの名前も git-clone
であると仮定します。
この場合は、パイプライン実行によりリモートパイプラインが実行されますが、パイプライン内の git-clone
という名前のタスクが定義したタスクに置き換えられます。