第3章 リゾルバーを使用したリモートパイプラインとタスクの指定
パイプラインとタスクは、CI/CD プロセスの再利用可能なブロックです。以前に開発したパイプラインやタスク、または他の人が開発したパイプラインやタスクを、定義をコピーして貼り付けることなく再利用できます。これらのパイプラインまたはタスクは、クラスター上の他の namespace からパブリックカタログに至るまで、いくつかの種類のソースから利用できます。
パイプライン実行リソースでは、既存のソースからパイプラインを指定できます。パイプラインリソースまたはタスク実行リソースでは、既存のソースからタスクを指定できます。
このような場合、Red Hat OpenShift Pipelines の リゾルバー は、実行時に指定されたソースからパイプラインまたはタスク定義を取得します。
以下のリゾルバーは、Red Hat OpenShift Pipelines のデフォルトのインストールで使用できます。
- ハブリゾルバー
- Artifact Hub または Tekton Hub で利用可能な Pipelines Catalog からタスクまたはパイプラインを取得します。
- バンドルリゾルバー
- Tekton バンドルからタスクまたはパイプラインを取得します。Tekton バンドルは、OpenShift コンテナーリポジトリーなどの任意の OCI リポジトリーから利用できる OCI イメージです。
- クラスターリゾルバー
- 特定の namespace の同じ OpenShift Container Platform クラスター上にすでに作成されているタスクまたはパイプラインを取得します。
- Git リゾルバー
- Git リポジトリーからタスクまたはパイプラインバインディングを取得します。リポジトリー、ブランチ、パスを指定する必要があります。
3.1. Tekton カタログからのリモートパイプラインまたはタスクの指定 リンクのコピーリンクがクリップボードにコピーされました!
ハブリゾルバーを使用して、Artifact Hub のパブリック Tekton カタログまたは Tekton Hub のインスタンスで定義されたリモートパイプラインまたはタスクを指定できます。
Artifact Hub プロジェクトは、Red Hat OpenShift Pipelines ではサポートされていません。Artifact Hub の設定のみがサポートされます。
3.1.1. ハブリゾルバーの設定 リンクのコピーリンクがクリップボードにコピーされました!
ハブリゾルバーを設定することで、リソースをプルするためのデフォルトのハブとデフォルトのカタログ設定を変更できます。
手順
TektonConfigカスタムリソースを編集するには、次のコマンドを入力します。oc edit TektonConfig config
$ oc edit TektonConfig configCopy to Clipboard Copied! Toggle word wrap Toggle overflow TektonConfigカスタムリソースで、pipeline.hub-resolver-config仕様を編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- リソースをプルするためのデフォルトの Tekton Hub カタログ。
- 2
- タスクリソースをプルするためのデフォルトの Artifact Hub カタログ。
- 3
- パイプラインリソースをプルするためのデフォルトの Artifact Hub カタログ。
- 4
- 参照のデフォルトのオブジェクトの種類。
- 5
- リソースをプルするためのデフォルトのハブ。Artifact Hub の場合は
artifact、Tekton Hub の場合はtekton。 - 6
default-typeオプションがtektonに設定されている場合に使用される Tekton Hub API。- 7
- オプション:
default-typeオプションがartifactに設定されている場合に使用される Artifact Hub API。
重要default-typeオプションをtektonに設定する場合は、tekton-hub-api値を設定して Tekton Hub の独自のインスタンスを設定する必要があります。default-typeオプションをartifactに設定すると、リゾルバーはデフォルトで https://artifacthub.io/ のパブリックハブ API を使用します。artifact-hub-api値を設定することで、独自の Artifact Hub API を設定できます。
3.1.2. ハブリゾルバーを使用したリモートパイプラインまたはタスクの指定 リンクのコピーリンクがクリップボードにコピーされました!
パイプライン実行を作成するときに、Artifact Hub または Tekton Hub からリモートパイプラインを指定できます。パイプラインまたはタスク実行を作成するときに、Artifact Hub または Tekton Hub からリモートタスクを指定できます。
手順
Artifact Hub または Tekton Hub からリモートパイプラインまたはタスクを指定するには、
pipelineRefまたはtaskRef仕様で次の参照形式を使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 表3.1 ハブリゾルバーでサポートされるパラメーター パラメーター 説明 値の例 catalogリソースを取得するためのカタログ。
デフォルト:
tekton-catalog-tasks(taskの種類)。tekton-catalog-pipelines(pipelineの種類の場合)。typeリソースをプルするカタログのタイプ。Artifact Hub の場合は
Artifact、Tekton Hub の場合はtektonのいずれかです。デフォルト:
artifactkindtaskまたはpipelineのいずれか。デフォルト:
tasknameハブから取得するタスクまたはパイプラインの名前。
golang-buildversionハブから取得するタスクまたはパイプラインのバージョン。数値を引用符 (
") で囲む必要があります。"0.5.0"パイプラインまたはタスクに追加のパラメーターが必要な場合は、パイプライン、パイプライン実行、またはタスク実行の仕様の
paramsセクションにこれらのパラメーターの値を指定します。pipelineRefまたはtaskRef仕様のparamsセクションには、リゾルバーがサポートするパラメーターのみを含める必要があります。
次のパイプライン実行の例では、カタログからリモートパイプラインを参照します。
次のパイプラインの例は、カタログからリモートタスクを参照します。
次のタスク実行例では、カタログからリモートタスクを参照します。