第3章 リゾルバーを使用したリモートパイプライン、タスク、およびステップアクションの指定
パイプラインとタスクは、CI/CD プロセスの再利用可能なブロックです。以前に開発したパイプラインやタスク、または他の人が開発したパイプラインやタスクを、定義をコピーして貼り付けることなく再利用できます。これらのパイプラインまたはタスクは、クラスター上の他の namespace からパブリックカタログに至るまで、いくつかの種類のソースから利用できます。
パイプライン実行リソースでは、既存のソースからパイプラインを指定できます。パイプラインリソースまたはタスク実行リソースでは、既存のソースからタスクを指定できます。
StepAction カスタムリソース (CR) で定義されるステップアクションは、タスク内のステップ 1 つで完了する再利用可能なアクションです。ステップを指定する場合は、既存のソースから StepAction 定義を参照できます。
このような場合、Red Hat OpenShift Pipelines の リゾルバー は、実行時に指定されたソースからパイプライン、タスク、または StepAction 定義を取得します。
以下のリゾルバーは、Red Hat OpenShift Pipelines のデフォルトのインストールで使用できます。
- ハブリゾルバー
-
Artifact Hub または Tekton Hub で利用可能な Pipelines Catalog からタスク、パイプライン、または
StepAction定義を取得します。 - バンドルリゾルバー
-
OpenShift コンテナーリポジトリーなどの任意の OCI リポジトリーから入手できる OCI イメージである Tekton バンドルからタスク、パイプライン、または
StepAction定義を取得します。 - Git リゾルバー
-
Git リポジトリーからタスク、パイプライン、または
StepAction定義を取得します。リポジトリー、ブランチ、パスを指定する必要があります。 - HTTP リゾルバー
-
リモート HTTP または HTTPS の URL からタスク、パイプライン、または
StepAction定義を取得します。認証の URL を指定する必要があります。 - クラスターリゾルバー
-
特定の namespace の同じ OpenShift Container Platform クラスター上にすでに作成されているタスク、パイプライン、または
StepAction定義を取得します。
OpenShift Pipelines のインストールには、パイプラインで使用できる一連の標準タスクが含まれています。これらのタスクは、OpenShift Pipelines インストール namespace (通常は openshift-pipelines namespace) にあります。クラスターリゾルバーを使用してタスクにアクセスできます。
OpenShift Pipelines は標準の StepAction 定義も提供します。クラスターリゾルバーを使用して、この定義にアクセスできます。
3.1. Tekton カタログからのリモートパイプライン、タスク、またはステップアクションの指定 リンクのコピーリンクがクリップボードにコピーされました!
ハブリゾルバーを使用して、Artifact Hub のパブリック Tekton カタログまたは Tekton Hub のインスタンスで定義されるリモートパイプライン、タスク、または StepAction 定義を指定できます。
Tekton Hub のパブリックインスタンス (hub.tekton.dev) は非推奨になり、今後のリリースで削除される予定です。Tekton Pipeline および Task リソースの代替として Artifact Hub を使用します。
Artifact Hub はオープンソースであり、セルフホスティングをサポートしているため、Tekton Pipeline および Task リソースをより柔軟に管理できます。
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 からリモート StepAction 定義を参照できます。
手順
Artifact Hub または Tekton Hub からリモートパイプライン、タスク、または
StepAction定義を指定するには、pipelineRef、taskRef、またはstep.ref仕様で次の参照形式を使用します。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セクションには、リゾルバーがサポートするパラメーターのみを含める必要があります。
例
次のパイプライン実行の例では、カタログからリモートパイプラインを参照します。
次のパイプラインの例は、カタログからリモートタスクを参照します。
次のタスク実行例では、カタログからリモートタスクを参照します。
次のタスクの例には、カタログから StepAction 定義を参照するステップが含まれています。