1.7. Red Hat OpenShift Pipelines General Availability 1.11 のリリースノート
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.11 が OpenShift Container Platform 4.12 以降のバージョンで利用できるようになりました。
1.7.1. 新機能
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.11 の主な新機能を説明します。
Red Hat OpenShift Pipelines Operator 1.11 にアップグレードする前に、少なくとも OpenShift Container Platform 4.12.19 または 4.13.1 バージョンがクラスターにインストールされていることを確認してください。
1.7.1.1. Pipelines
-
この更新により、ARM ハードウェア上で実行される OpenShift Container Platform クラスター上で Red Hat OpenShift Pipelines を使用できるようになります。イメージが利用可能な
ClusterTask
リソースと、ARM ハードウェア上の Tekton CLI ツールがサポートされています。 -
この更新により、
TektonConfig
CR でenable-api-fields
機能フラグをbeta
値に設定した場合の、結果、オブジェクトパラメーター、配列結果、および配列へのインデックス作成のサポートが追加されました。 - 今回の更新により、伝播されたパラメーターが安定した機能の一部になりました。この機能により、埋め込み仕様のパラメーターを補間して、Tekton リソースの冗長性を軽減できます。
-
この更新により、伝播されたワークスペースが安定した機能の一部になりました。伝達されたワークスペース機能を有効にするには、
enable-api-fields
機能フラグをalpha
値またはbeta
値に設定します。 -
今回の更新により、
TaskRun
オブジェクトは、Pod の実行に失敗したときに初期コンテナーの失敗メッセージを取得してユーザーに表示します。 この更新により、次のガイドラインに従ってマトリックスを設定しながら、パイプラインタスクのパラメーター、結果、およびコンテキストを置き換えることができます。
-
matrix.params
設定内の配列をarray
パラメーターに置き換えるか、文字列をstring
、array
、またはobject
パラメーターに置き換えます。 -
文字列を
matrix.include
設定のstring
、array
、またはobject
パラメーターに置き換えます。 -
パイプラインタスクのコンテキストを、
matrix.include
設定内の別のコンテキストに置き換えます。
-
-
この更新により、
TaskRun
リソース検証プロセスは、matrix.include
パラメーターも検証します。検証では、すべてのパラメーターに値があり、指定された型と一致するかどうか、またオブジェクトパラメーターに必要なすべてのキーがあるかどうかがチェックされます。 -
この更新により、
default-configs
config map に新しいdefault-resolver-type
フィールドが追加されます。このフィールドの値を設定して、デフォルトのリゾルバーを設定できます。 -
この更新により、
pipelineRun.workspaces.subPath
設定でPipelineRun
コンテキスト変数を定義して使用できるようになりました。 -
この更新により、
ClusterResolver
、BundleResolver
、HubResolver
、およびGitResolver
の機能がデフォルトで利用できるようになりました。
1.7.1.2. トリガー
-
この更新により、Tekton トリガーは
EventListener
仕様のAffinity
およびTopologySpreadConstraints
値をサポートします。これらの値を使用して、EventListener
オブジェクトの Kubernetes およびカスタムリソースを設定できます。 - この更新により、Slack でスラッシュコマンドを使用してフィールドを抽出できるようにする Slack インターセプターが追加されました。抽出されたフィールドは、HTTP リクエストのフォームデータセクションで送信されます。
1.7.1.3. Operator
-
この更新により、
TektonConfig
CR のprune-per-resource
ブール型フィールドを設定することで、各PipelineRun
またはTaskRun
リソースのプルーニングを設定できるようになりました。また、operator.tekton.dev/prune.prune-per-resource=true
アノテーションをネームスペースに追加することで、ネームスペース内の各PipelineRun
またはTaskRun
リソースのプルーニングを設定することもできます。 - 今回の更新により、OpenShift Container Platform クラスター全体のプロキシーに変更があった場合、Operator Lifecycle Manager (OLM) は Red Hat OpenShift Pipelines Operator を再作成します。
-
この更新により、
TektonConfig
CR でconfig.pruner.disabled
フィールドの値をtrue
に設定することで、プルーナー機能を無効にすることができます。
1.7.1.4. Tekton Chains
- この更新により、Tekton Chains が一般的に使用できるようになりました。
-
この更新により、Tekton チェーンで skopeo ツールを使用して、
cosign
署名スキームで使用されるキーを生成できるようになりました。 -
Red Hat OpenShift Pipelines Operator 1.11 にアップグレードすると、以前の Tekton Chains 設定が上書きされるため、
TektonConfig
CR で再度設定する必要があります。
1.7.1.5. Tekton Hub
Tekton Hub はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
この更新により、
resource
API レスポンスに新しいresource/<catalog_name>/<kind>/<resource_name>/raw
エンドポイントと新しいresourceURLPath
フィールドが追加されます。この更新は、リソースの最新の生の YAML ファイルを取得するのに役立ちます。
1.7.1.6. Tekton Results
Tekton Results はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
- この更新により、Tekton Results がオプションのコンポーネントとして Tekton Operator に追加されます。
1.7.1.7. Pipelines as Code
-
今回の更新により、Pipelines as Code では、
params
フィールドを使用してPipelineRun
リソース内のカスタムパラメーターをデプロイメントできるようになりました。Repository
CR のテンプレート内のカスタムパラメーターの値を指定できます。指定された値は、パイプライン実行のカスタムパラメーターを置き換えます。また、カスタムパラメーターを定義し、指定された条件が Common Expression Language (CEL) フィルターと互換性がある場合にのみその拡張を使用することもできます。 - この更新により、GitHub インターフェイスの Checks タブにある Re-run all checks ボタンをクリックすることで、特定のパイプラインまたはすべてのパイプラインを再実行できるようになりました。
この更新により、新しい
tkn pac info
コマンドが Pipelines as Code CLI に追加されます。管理者は、tkn pac info
コマンドを使用して、Pipelines as Code のインストールに関する次の詳細を取得できます。- Pipelines as Code がインストールされる場所。
- Pipelines as Code のバージョン番号。
-
クラスター上に作成された
Repository
CR とリポジトリーに関連付けられた URL の概要。 インストールされている GitHub アプリケーションの詳細。
このコマンドでは、
--github-api-url
引数を使用してカスタム GitHub API URL を指定することもできます。
-
この更新により、デフォルトですべての
PipelineRun
リソースのエラー検出が有効になります。Pipelines as Code は、PipelineRun
リソースの実行が失敗したかどうかを検出し、エラーの最後の数行のスニペットを表示します。GitHub アプリケーションの場合、Pipelines as Code はコンテナーログ内のエラーメッセージを検出し、プルリクエストのアノテーションとして公開します。 - この更新により、プライベート Git リポジトリーに接続されたプライベート Tekton Hub インスタンスからタスクをフェッチできるようになります。この更新を有効にするために、Pipelines as Code は、GitHub の生 URL を使用する代わりに、プライベート Tekton Hub インスタンスの内部生 URL を使用します。
- この更新の前に、Pipelines as Code は namespace の詳細を含まないログを提供していました。この更新により、Pipelines as Code は namespace 情報をパイプラインログに追加するため、namespace に基づいてログをフィルタリングし、簡単にデバッグできるようになります。
-
この更新により、
PipelineRun
リソース定義の取得元の出所ソースを定義できるようになりました。デフォルトでは、Pipelines as Code は、イベントがトリガーされたブランチからPipelineRun
リソース定義をフェッチします。Pipelinerun_provenance
設定の値をdefault_branch
に設定できるようになりました。これにより、PipelineRun
リソース定義が GitHub で設定されたリポジトリーのデフォルトブランチからフェッチされるようになります。 この更新により、GitHub トークンのスコープを次のレベルで拡張できます。
- リポジトリーレベル: このレベルを使用して、元のリポジトリーが存在するのと同じ名前空間に存在するリポジトリーにスコープを拡張します。
- グローバルレベル: このレベルを使用して、スコープを別の名前空間に存在するリポジトリーに拡張します。
-
今回の更新により、Pipelines as Code は、所有者、コラボレーター、またはパブリックメンバーではないユーザー、または
owner
ファイルにリストされていないがリポジトリーに変更をプッシュする権限を持つユーザーが作成したプルリクエストに対して、CI パイプラインをトリガーします。 -
この更新により、カスタムコンソール設定により、
Repository
CR のカスタムパラメーターを使用できるようになります。 -
この更新により、Pipelines as Code はすべての
PipelineRun
ラベルをPipelineRun
アノテーションに変更します。PipelineRun
ラベルを使用する代わりに、PipelineRun
アノテーションを使用して Tekton リソースをマークできます。 -
この更新により、
pac-config-logging
config map をウォッチャーおよび Webhook リソースに使用できるようになりますが、コードコントローラーとしてのパイプラインには使用できません。
1.7.2. 互換性を失わせる変更点
-
この更新により、パイプライン仕様内の
resource-verification-mode
機能フラグが新しいtrusted-resources-verification-no-match-policy
フラグに置き換えられます。 -
この更新により、Tekton Chains CR を編集できなくなります。代わりに、
TektonConfig
CR を編集して Tekton Chains を設定します。
1.7.3. 非推奨および削除された機能
この更新により、Tekton CLI から
PipelineResource
コマンドと参照のサポートが削除されます。- クラスタータスクからのパイプラインリソースの削除
- タスクからのパイプラインリソースの削除
- パイプラインからのパイプラインリソースの削除
- リソースコマンドの削除
-
clustertask describe
コマンドからの入出力リソースの削除
-
この更新により、Tekton CLI から
full
埋め込みステータスのサポートが削除されます。 -
taskref.bundle
とpipelineref.bundle
バンドルは非推奨であり、将来のリリースでは削除される予定です。 -
Red Hat OpenShift Pipelines 1.11 では、
PipelineResource
CR のサポートが削除されているため、代わりにTask
CR を使用してください。 -
Red Hat OpenShift Pipelines 1.11 では、
v1alpha1.Run
オブジェクトのサポートが削除されました。このリリースにアップグレードする前に、オブジェクトをv1alpha1.Run
からv1beta1.CustomRun
にアップグレードする必要があります。 -
Red Hat OpenShift Pipelines 1.11 では、
custom-task-version
機能フラグが削除されました。 -
Red Hat OpenShift Pipelines 1.11 では、
pipelinerun.status.taskRuns
フィールドとpipelinerun.status.runs
フィールドがembedded-status
機能フラグとともに削除されました。代わりに、pipelinerun.status.childReferences
フィールドを使用してください。
1.7.4. 既知の問題
-
prune-per-resource
のブール型フィールドを設定しても、PipelineRun
リソースまたはTaskRun
リソースがパイプラインまたはタスクの一部ではない場合、それらのリソースは削除されません。 -
Tekton CLI では、リゾルバーを使用して作成された
PipelineRun
リソースのログは表示されません。 -
order_by=created_time+desc&page_size=1
クエリーに基づいてパイプライン結果をフィルターすると、出力にnextPageToken
値のないレコードがゼロになります。 -
loglevel.pipelinesascode
フィールドの値をdebug
に設定すると、Pipelines as Code コントローラー Pod にデバッグログは生成されません。回避策として、パイプラインをコードコントローラー Pod として再起動します。
1.7.5. 修正された問題
-
この更新が行われる前は、Pipelines as Code は
PipelineRun
CR のgenerateName
フィールドの検出中にPipelineRun
リソースの作成に失敗していました。この更新により、Pipelines as Code はPipelineRun
CR でのgenerateName
フィールドの提供をサポートします。 -
この更新より前は、Web コンソールから
PipelineRun
リソースを作成すると、すべてのアノテーションがパイプラインからコピーされ、実行中のノードに問題が発生していました。この更新により問題が解決されました。 -
この更新により、
keep
フラグのtkn pr delete
コマンドが修正されました。ここで、keep
フラグの値が関連するタスクの実行またはパイプラインの実行の数と等しい場合、コマンドはメッセージとともに終了コード0
を返します。 この更新前は、Tekton Operator はカスタマイズのためのパフォーマンス設定フィールドを公開していませんでした。この更新により、クラスター管理者は、ニーズに基づいて
TektonConfig
CR の次のパフォーマンス設定フィールドをカスタマイズできます。-
disable-ha
-
buckets
-
kube-api-qps
-
kube-api-burst
-
threads-per-controller
-
-
この更新により、バンドル内の
dev.tekton.image.kind
アノテーション値とkind
フィールドの大文字と小文字を区別しない比較を実行するようにリモートバンドルリゾルバーが修正されました。 - この更新前は、大規模な Git リポジトリーのクローンを作成するときにメモリー不足が原因で、リモートリゾルバーの Pod が終了していました。この更新プログラムでは問題が修正され、リモートリゾルバーをデプロイメントするためのメモリー制限が増加します。
-
この更新により、
v1
タイプのタスクおよびパイプラインリソースがリモート解決でサポートされます。 -
この更新により、API からの埋め込み
TaskRun
ステータスの削除が元に戻ります。埋め込みTaskRun
ステータスは、古いバージョンのクライアント/サーバーとの互換性をサポートするために、非推奨の機能として利用できるようになりました。 -
この更新前は、実行に必要でない場合でも、すべてのアノテーションが
PipelineRun
とTaskRun
リソースにマージされていました。この更新により、アノテーションをPipelineRun
とTaskRun
リソースにマージすると、last-applied-configuration
のアノテーションがスキップされます。 -
この更新により、回帰の問題が修正され、パイプライン結果でスキップされたタスクの結果が検証されなくなります。たとえば、パイプライン結果がスキップされた
PipelineTask
リソースを参照している場合、パイプライン結果は出力されず、結果の欠落によってPipelineRun
の実行が失敗することはありません。 - この更新では、Pod のステータスメッセージを使用して、Pod 終了の原因を特定します。
-
この更新前は、
finally
タスクの実行に対してデフォルトのリゾルバーが設定されていませんでした。この更新により、finally
タスクのデフォルトのリゾルバーが設定されます。 -
この更新により、Red Hat OpenShift Pipelines は、リモート解決を使用するときに時々発生する
TaskRun
またはPipelineRun
の実行の失敗を回避します。 - この更新が行われる前は、長時間のパイプラインの実行は、タイムアウト後でもクラスター上で実行状態のままになります。今回の更新でこの問題が修正されています。
-
この更新により、
keep
フラグを正しく使用できるようにtkn pr delete
コマンドが修正されました。この更新で、keep
フラグの値が関連するタスクの実行またはパイプラインの実行の数と等しい場合、tkn pr delete
コマンドはメッセージとともに終了コード0
を返します。
1.7.6. Red Hat OpenShift Pipelines General Availability 1.11.1 のリリースノート
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.11.1 が OpenShift Container Platform 4.12 以降のバージョンで利用できるようになりました。
1.7.6.1. 修正された問題
- この更新より前は、実行中または保留中の Pod がプリエンプトされると、タスクの実行が失敗し、マウントパスのエラーメッセージが表示されることがありました。この更新により、クラスターによって Pod が削除され再作成された場合でも、タスクの実行は失敗しません。
-
この更新前は、タスク内のシェルスクリプトを root として実行する必要がありました。この更新により、シェルスクリプトイメージに非 root ユーザー ID が設定されるようになり、
git-clone
タスクなどのシェルスクリプトを含むタスクを Pod 内で非 root ユーザーとして実行できるようになりました。 -
この更新より前の Red Hat OpenShift Pipelines 1.11.0 では、Pipelines as Code を使用してパイプライン実行が定義されると、Git リポジトリー内の定義は
tekton.dev/v1beta1
API バージョンを参照し、spec.pipelineRef.bundle
エントリー、バンドル参照のkind
パラメーターが誤ってTask
に設定されました。この問題は、Red Hat OpenShift Pipelines の以前のバージョンには存在しませんでした。今回の更新により、kind
パラメーターが正しく設定されるようになりました。 -
この更新前は、
disable-ha
フラグがtekton-pipelines
コントローラーに正しく渡されなかったため、Red Hat OpenShift Pipelines の高可用性 (HA) 機能を有効にすることができませんでした。この更新により、disable-ha
フラグが正しく渡され、必要に応じて HA 機能を有効にできるようになりました。 - この更新前は、Tekton Hub と Artifact Hub の URL をハブリゾルバーに設定できませんでした。そのため、Tekton Hub と Artifact Hub のプリセットアドレスのみを使用できました。この更新により、インストールしたカスタム Tekton Hub インスタンスを使用するなど、ハブリゾルバーの Tekton Hub および Artifact Hub の URL を設定できるようになります。
-
今回の更新により、
git-init
イメージの SHA ダイジェストは、イメージの現在のリリースバージョンであるバージョン 1.10.5 に対応します。 -
この更新前は、
tekton-pipelines-controller
コンポーネントはconfig-leader-election
という名前の config map を使用していました。この名前は knative コントローラーのデフォルト値であるため、OpenShift Pipelines の設定プロセスが他のコントローラーに影響を与える可能性があり、またその逆も同様です。この更新により、コンポーネントは一意の設定名を使用するため、OpenShift Pipelines の設定プロセスは他のコントローラーに影響を与えず、他のコントローラーの影響も受けません。 -
この更新より前は、GitHub リポジトリーへの書き込みアクセス権を持たないユーザーがプルリクエストを開いた場合、Pipelines as Code CI/CD アクションは GitHub で
skipped
ものとして表示されていました。この更新により、Pipelines as Code CI/CD アクションが GitHub でPending approval
として表示されます。 - この更新が行われる前は、Pipelines as Code は、設定されたブランチ名と一致するブランチへのすべてのプルリクエストに対して CI/CD アクションを実行していました。今回の更新により、Pipelines as Code は、プルリクエストのソースブランチが、設定されたブランチ名と正確に一致する場合にのみ CI/CD アクションを実行するようになります。
- この更新が行われる前は、Pipelines as Code コントローラーのメトリクスは OpenShift Container Platform 開発者コンソールに表示されませんでした。今回の更新により、Pipelines as Code コントローラーのメトリクスが開発者コンソールに表示されます。
-
この更新より前の Red Hat OpenShift Pipelines 1.11.0 では、Operator は常に Tekton Chains をインストールしており、Tekton Chains コンポーネントのインストールを無効にすることはできませんでした。今回の更新により、
TektonConfig
CR でdisabled
パラメーターの値をtrue
に設定して、okindf Tekton Chains のインストールを無効にすることができます。 -
この更新の前に、
TektonChain
CR を使用して古いバージョンの OpenShift Pipelines で Tekton Chains を設定し、その後 OpenShift Pipelines バージョン 1.11.0 にアップグレードした場合、設定情報は上書きされました。この更新により、OpenShift Pipelines の古いバージョンからアップグレードし、TektonConfig
がインストールされているのと同じ namespace (openshift-pipelines
) で Tekton Chains が設定されていた場合、Tekton Chains の設定情報は保持されます。
1.7.7. Red Hat OpenShift Pipelines 一般提供 1.11.2 のリリースノート
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.11.2 が OpenShift Container Platform 4.12 以降のバージョンで利用できるようになりました。
この更新には、tkn
コマンドラインツールの更新バージョンが含まれています。このツールの更新バージョンは次の場所からダウンロードできます。
Red Hat Enterprise Linux (RHEL) 上の RPM を使用して tkn
コマンドラインツールをインストールした場合は、yum update
コマンドを使用して更新されたバージョンをインストールします。
1.7.7.1. 修正された問題
-
この更新前は、
tkn pac resolve -f
コマンドは、Git リポジトリーでの認証のための既存のシークレットを検出しませんでした。今回の更新により、このコマンドはシークレットを正常に検出できるようになりました。 -
今回の更新により、
tkn pac resolve
コマンドで--v1beta1
フラグを使用できるようになりました。v1beta1
API バージョンスキーマで実行するパイプラインを生成する場合は、このフラグを使用します。 -
この更新前は、パイプライン実行がリゾルバーを参照している場合、
tkn pr logs
コマンドはパイプライン実行のログを表示できませんでした。今回の更新により、コマンドでログが表示されるようになりました。 -
今回の更新により、
git-init
イメージの SHA ダイジェストは、イメージの現在のリリースバージョンであるバージョン 1.12.1 に対応します。 - この更新により、HTTP/2.0 プロトコルは Webhook でサポートされなくなりました。Red Hat OpenShift Pipelines へのすべての Webhook 呼び出しでは、HTTP/1.1 プロトコルを使用する必要があります。
1.7.8. 既知の問題
-
Bundles リゾルバーを使用してパイプライン実行を定義し、このパイプライン実行に対して
tkn pac resolve --v1beta1
コマンドを使用すると、コマンドによって不正な YAML 出力が生成されます。バンドルのkind
パラメーターは、YAML 出力のTask
に設定されます。回避策として、YAML データに正しい値を手動で設定できます。あるいは、opc pac resolve --v1beta1
コマンドを使用するか、OpenShift Pipelines バージョン 1.12.0 以降に含まれるバージョンのtkn
ツールを使用することもできます。
1.7.9. Red Hat OpenShift Pipelines 一般提供 1.11.3 のリリースノート
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.11.3 が OpenShift Container Platform 4.11、4.12、4.13 に加え、4.10 でも利用できるようになりました。
1.7.9.1. 修正された問題
- 今回の更新より前は、パイプラインの最後のタスクが失敗するかスキップされた場合、OpenShift Pipelines は検証エラーを報告しました。今回の更新により、パイプラインは、最後のタスクが失敗するかスキップされた場合でも成功するようになりました。