This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第4章 Pipelines
4.1. Red Hat OpenShift Pipelines リリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines は、以下を提供する Tekton プロジェクトをベースとするクラウドネイティブの CI/CD エクスペリエンスです。
- 標準の Kubernetes ネイティブパイプライン定義 (CRD)
- CI サーバー管理のオーバーヘッドのないサーバーレスのパイプライン。
- S2I、Buildah、JIB、Kaniko などの Kubernetes ツールを使用してイメージをビルドするための拡張性。
- Kubernetes ディストリビューションでの移植性。
- パイプラインと対話するための強力な CLI。
- OpenShift Container Platform Web コンソールの Developer パースペクティブと統合されたユーザーエクスペリエンス。
Red Hat OpenShift Pipelines の概要は、Understanding OpenShift Pipelines を参照してください。
4.1.1. 互換性およびサポート表 リンクのコピーリンクがクリップボードにコピーされました!
現在、今回のリリースに含まれる機能には テクノロジープレビュー のものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。
以下の表では、機能は以下のステータスでマークされています。
| TP | テクノロジープレビュー |
| GA | 一般公開 (GA) |
| Red Hat OpenShift Pipelines バージョン | コンポーネントのバージョン | OpenShift バージョン | サポートステータス | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Operator | パイプライン | トリガー | CLI | カタログ | チェーン | ハブ | Pipelines as Code | ||
| 1.10 | 0.44.x | 0.23.x | 0.30.x | NA | 0.15.x (TP) | 1.12.x (TP) | 0.17.x (GA) | 4.10, 4.11, 4.12, 4.13 | GA |
| 1.9 | 0.41.x | 0.22.x | 0.28.x | NA | 0.13.x (TP) | 1.11.x (TP) | 0.15.x (GA) | 4.10, 4.11, 4.12, 4.13 | GA |
| 1.8 | 0.37.x | 0.20.x | 0.24.x | NA | 0.9.0 (TP) | 1.8.x (TP) | 0.10.x (TP) | 4.10、4.11、4.12 | GA |
| 1.7 | 0.33.x | 0.19.x | 0.23.x | 0.33 | 0.8.0 (TP) | 1.7.0 (TP) | 0.5.x (TP) | 4.9、4.10、4.11 | GA |
| 1.6 | 0.28.x | 0.16.x | 0.21.x | 0.28 | 該当なし | 該当なし | 該当なし | 4.9 | GA |
| 1.5 | 0.24.x | 0.14.x (TP) | 0.19.x | 0.24 | 該当なし | 該当なし | 該当なし | 4.8 | GA |
| 1.4 | 0.22.x | 0.12.x (TP) | 0.17.x | 0.22 | 該当なし | 該当なし | 該当なし | 4.7 | GA |
さらに、ARM ハードウェアでの Red Hat OpenShift Pipeline の実行のサポートは、テクノロジープレビュー機能 としてご利用いただけます。
質問やフィードバックについては、製品チームに pipelines-interest@redhat.com 宛のメールを送信してください。
4.1.2. 多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
4.1.3. Red Hat OpenShift Pipelines General Availability 1.10 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.10 が OpenShift Container Platform 4.11、4.12、および 4.13 で利用できるようになりました。
4.1.3.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.10 の主な新機能について説明します。
4.1.3.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新により、
PipelineRunまたはTaskRunPod テンプレートで環境変数を指定して、タスクまたはステップで設定されている変数を上書きまたは追加できるようになりました。また、デフォルトの Pod テンプレートで環境変数を指定して、それらの変数をすべてのPipelineRunsおよびTaskRunsに対してグローバルに使用することもできます。今回の更新では、Pod テンプレートからの伝播中に環境変数をフィルター処理する、obhibited-envsという名前の新しいデフォルト設定も追加されています。 今回の更新により、パイプラインのカスタムタスクがデフォルトで有効になります。
注記この更新を無効にするには、
feature-flagsconfig カスタムリソースでenable-custom-tasksフラグをfalseに設定します。-
この更新プログラムは、カスタムタスクの
v1beta1.CustomRunAPI バージョンをサポートします。 今回の更新により、カスタム実行を作成するための
PipelineRunreconcilerのサポートが追加されました。たとえば、custom-task-version機能フラグがデフォルト値のv1alpha1ではなくv1beta1に設定されている場合、PipelineRunsから作成されたカスタムTaskRunはv1alpha1.Runの代わりにv1beta1.CustomRunAPI バージョンを使用できるようになりました。注記v1beta1.CustomRun要求に応答するには、*v1alpha1.Runではなく*v1beta1.CustomRunAPI バージョンをリッスンするようにカスタムタスクコントローラーを更新する必要があります。-
この更新により、新しい
retriesフィールドがv1beta1.TaskRunおよびv1.TaskRun仕様に追加されます。
4.1.3.1.2. トリガー リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新により、トリガーは、
v1beta1API バージョンのCustomRunオブジェクトと共に、v1API バージョンのPipelines、Tasks、PipelineRuns、およびTaskRunsオブジェクトの作成をサポートします。 今回の更新により、GitHub Interceptor は、所有者または所有者による設定可能なコメントで呼び出されない限り、プルリクエストトリガーの実行をブロックします。
注記この更新を有効または無効にするには、GitHub Interceptor 設定ファイルで
githubOwnersパラメーターの値をtrueまたはfalseに設定します。-
今回の更新により、GitHub Interceptor は、プッシュおよびプルリクエストイベント用に変更されたすべてのファイルのコンマ区切りのリストを追加できるようになりました。変更されたファイルのリストは、最上位の拡張フィールドのイベントペイロードの
changed_filesがプロパティーに追加されます。 -
今回の更新により、TLS の
MinVersionがtls.VersionTLS12に変更され、Federal Information Processing Standards (FIPS) モードが有効になっている場合に OpenShift Container Platform でトリガーが実行されるようになります。
4.1.3.1.3. CLI リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新で、
Task、ClusterTaskまたはPipelineが開始時に Container Storage Interface (CSI) ファイルをワークスペースとして渡すためのサポートが追加されました。 -
この更新により、タスク、パイプライン、パイプライン実行、およびタスク実行リソースに関連付けられたすべての CLI コマンドに
v1API サポートが追加されます。Tekton CLI は、これらのリソースのv1beta1とv1API の両方で動作します。 -
今回の更新で、
startコマンドとdescribeコマンドにオブジェクトタイプパラメーターのサポートが追加されました。
4.1.3.1.4. Operator リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新により、オプションのパイプラインプロパティーに
default-forbidden-envパラメーターが追加されました。パラメーターには、Pod テンプレートを介して提供された場合に伝播されるべきではない、禁止された環境変数が含まれています。 -
この更新により、Tekton Hub UI でのカスタムロゴのサポートが追加されます。カスタムロゴを追加するには、
customLogoパラメーターの値を、Tekton Hub CR の base64 でエンコードされたロゴの URI に設定します。 - この更新により、git-clone タスクのバージョン番号が 0.9 に増加します。
4.1.3.1.5. Tekton Chains リンクのコピーリンクがクリップボードにコピーされました!
Tekton Chains はテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
今回の更新により、
PipelineRunおよびTaskRun設定証明にアノテーションとラベルが追加されました。 -
この更新により、
slsa/v1という名前の新しい形式が追加されます。これは、in-toto形式で要求したときに生成されるものと同じ来歴を生成します。 - 今回の更新により、Sigstore 機能が実験的機能から除外されました。
-
今回の更新により、
predicate.materials関数に、TaskRunオブジェクトのすべてのステップとサイドカーからのイメージ URI とダイジェスト情報が含まれるようになりました。
4.1.3.1.6. Tekton Hub リンクのコピーリンクがクリップボードにコピーされました!
Tekton Hub はテクノロジープレビュー機能としてのみ提供されます。テクノロジープレビュー機能は、Red Hat 製品サービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
この更新は、クラスターでの
v1API バージョンの Tekton リソースのインストール、アップグレード、またはダウングレードをサポートします。 - この更新では、UI の Tekton Hub ロゴの代わりにカスタムロゴを追加できます。
-
今回の更新では、アーティファクトハブからリソースを取得してクラスターにインストールする
--type アーティファクトフラグを追加することで、tkn ハブインストールコマンドの機能を拡張します。 - 今回の更新により、Artifact Hub からクラスターにインストールされるリソースにラベルとしてサポート層、カタログ、および組織情報が追加されます。
4.1.3.1.7. Pipelines as Code リンクのコピーリンクがクリップボードにコピーされました!
-
この更新により、着信 Webhook のサポートが強化されます。OpenShift Container Platform クラスターにインストールされた GitHub アプリケーションの場合、受信 Webhook に
git_provider仕様を提供する必要はありません。代わりに、Pipelines as Code がシークレットを検出し、それを着信 Webhook に使用します。 - 今回の更新により、同じトークンを使用して、GitHub 上の同じホストからデフォルト以外のブランチでリモートタスクを取得できるようになりました。
-
今回の更新により、Pipelines as Code は Tekton
v1テンプレートをサポートします。v1およびv1beta1テンプレートを使用できます。これは、Pipelines as Code が PR 生成のために読み取るものです。PR はクラスターでv1として作成されます。 -
この更新の前は、OpenShift コンソール UI は、OpenShift namespace でランタイムテンプレートが見つからない場合、ハードコーディングされたパイプライン実行テンプレートをフォールバックテンプレートとして使用していました。
Pipelines-as-Codeconfig map のこの更新により、使用するコンソール用に、pipelines-as-code-template-defaultという名前の新しいデフォルトのパイプライン実行テンプレートが提供されます。 - 今回の更新により、Pipelines as Code は Tekton Pipelines 0.44.0 最小ステータスをサポートします。
-
今回の更新により、Pipelines as Code は Tekton
v1API をサポートします。これは、Pipelines as Code が Tekton v0.44 以降と互換性を持つようになったことを意味します。 - 今回の更新により、OpenShift のコンソールと k8s の Tekton ダッシュボードの設定に加えて、カスタムコンソールダッシュボードを設定できるようになりました。
-
今回の更新により、Pipelines as Code は
tkn pac create repoコマンドを使用して開始された GitHub アプリケーションのインストールを検出し、グローバルにインストールされている場合は GitHub Webhook を必要としません。 -
この更新の前は、
PipelineRunにアタッチされたタスクではなくPipelineRunの実行でエラーが発生した場合、Pipelines as Code は失敗を適切に報告しませんでした。今回の更新により、コードとしてのパイプラインは、PipelineRunを作成できなかった場合に GitHub チェックでエラーを適切に報告します。 -
今回の更新により、Pipelines as Code には、
PipelineRunが実行される現在実行中の namespace にデプロイメントされるtarget_namespace変数が含まれています。 - 今回の更新により、Pipelines as Code を使用すると、CLI ブートストラップ GitHub アプリケーションで GitHub エンタープライズの質問をバイパスできます。
- 今回の更新により、Pipelines as Code はリポジトリー CR が見つからない場合にエラーを報告しなくなりました。
- 今回の更新により、Pipelines as Code は、同じ名前の複数のパイプライン実行が見つかった場合にエラーを報告します。
4.1.3.2. 互換性を失わせる変更点 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新により、以前のバージョンの
tknコマンドは Red Hat OpenShift Pipelines 1.10 と互換性がなくなりました。 -
この更新により、Tekton CLI から
ClusterおよびCloudEventパイプラインリソースのサポートが削除されます。tkn pipelineresource createコマンドを使用してパイプラインリソースを作成することはできません。また、パイプラインリソースは、タスク、クラスタータスク、またはパイプラインのstartコマンドでサポートされなくなりました。 -
この更新により、Tekton Chains から来歴フォーマットとしての
tektonが削除されます。
4.1.3.3. 非推奨および削除された機能 リンクのコピーリンクがクリップボードにコピーされました!
-
Red Hat OpenShift Pipelines 1.10 では、
ClusterTaskコマンドが非推奨になり、将来のリリースで削除される予定です。tkn task createコマンドも、この更新で非推奨になりました。 -
Red Hat OpenShift Pipelines 1.10 では、
v1API がパイプラインリソースをサポートしていないため、tkn task startコマンドで使用されたフラグ-iおよび-oは非推奨になりました。 -
Red Hat OpenShift Pipelines 1.10 では、
v1API がパイプラインリソースをサポートしていないため、tkn pipeline startコマンドで使用されたフラグ-rは非推奨になりました。 -
Red Hat OpenShift Pipelines 1.10 の更新では、
openshiftDefaultEmbeddedStatusパラメーターがfull埋め込みステータスとmin埋め込みステータスのbothに設定されます。デフォルトの埋め込みステータスを変更するフラグも非推奨であり、削除されます。さらに、パイプラインのデフォルトの埋め込みステータスは、将来のリリースでminimalに変更される予定です。
4.1.3.4. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
この更新には、以下の下位互換性のない変更が含まれています。
-
PipelineResourcesクラスターの削除 -
PipelineResourcesクラウドイベントの削除
-
クラスターのアップグレード後にパイプラインメトリック機能が動作しない場合は、回避策として次のコマンドを実行します。
oc get tektoninstallersets.operator.tekton.dev | awk '/pipeline-main-static/ {print $1}' | xargs oc delete tektoninstallersets$ oc get tektoninstallersets.operator.tekton.dev | awk '/pipeline-main-static/ {print $1}' | xargs oc delete tektoninstallersetsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 今回の更新により、Crunchy PostgreSQL などの外部データベースの使用は、IBM Power、IBM Z、および {linuxoneProductName} ではサポートされなくなりました。代わりに、デフォルトの Tekton Hub データベースを使用してください。
4.1.3.5. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、
opc pacコマンドはヘルプを表示する代わりにランタイムエラーを生成していました。今回の更新により、opc pacコマンドがヘルプメッセージを表示するように修正されました。 -
この更新の前は、
tkn pac create repoコマンドを実行するには、リポジトリーを作成するための webhook の詳細が必要でした。今回の更新により、GitHub アプリケーションがインストールされている場合、tkn-pac create repoコマンドは Webhook を設定しません。 -
この更新の前は、Tekton Pipelines で
PipelineRunリソースの作成に問題があった場合、Pipelines as Code はパイプライン実行の作成エラーを報告しませんでした。たとえば、パイプラインの実行に存在しないタスクは、ステータスを表示しません。今回の更新により、Pipelines as Code は、欠落しているタスクとともに Tekton Pipelines からの適切なエラーメッセージを表示します。 - この更新プログラムは、認証が成功した後の UI ページのリダイレクトを修正します。これで、Tekton Hub にログインしようとしたのと同じページにリダイレクトされます。
-
今回の更新では、クラスタータスク、個々のタスク、およびパイプラインに対して、これらのフラグ
--all-namespacesおよび--output=yamlを使用したlistコマンドが修正されました。 -
今回の更新により、
repo.spec.urlURL の末尾にあるスラッシュが削除され、GitHub からの URL と一致するようになりました。 -
この更新の前は、
marshalJSON関数はオブジェクトのリストをマーシャリングしませんでした。今回の更新で、marshalJSON関数はオブジェクトのリストをマーシャリングします。 - 今回の更新により、Pipelines as Code を使用すると、CLI ブートストラップ GitHub アプリケーションで GitHub エンタープライズの質問をバイパスできます。
- この更新により、リポジトリーに 100 人を超えるユーザーがいる場合の GitHub コラボレーターチェックが修正されます。
-
今回の更新により、タスクまたはパイプラインの
signおよびverifyコマンドは、kubernetes 設定ファイルなしで機能するようになりました。 - 今回の更新により、namespace でプルーナーがスキップされた場合、Tekton Operator は残りのプルーナー cron ジョブをクリーンアップします。
-
この更新の前に、API
ConfigMapオブジェクトは、カタログ更新間隔のユーザー設定値で更新されませんでした。この更新により、Tekon Hub CR のCATALOG_REFRESH_INTERVALAPI が修正されます。 この更新プログラムは、
EmbeddedStatus関数フラグを変更するときのPipelineRunStatusの調整を修正します。この更新により、次のパラメーターがリセットされます。-
status.runsおよびstatus.taskrunsパラメーターを最小のEmbeddedStatusでnilに設定 -
full EmbeddedStatusでstatus.childReferencesパラメーターをnilに
-
-
今回の更新で、
ResolutionRequestCRD に変換設定が追加されました。この更新により、v1alpha1.ResolutionRequestリクエストからv1beta1.ResolutionRequestリクエストへの変換が適切に設定されます。 - この更新プログラムは、パイプラインタスクに関連付けられている重複したワークスペースをチェックします。
- この更新により、コードでリゾルバーを有効にするためのデフォルト値が修正されます。
-
この更新プログラムは、リゾルバーを使用した
TaskRefおよびPipelineRef名の変換を修正します。
4.1.3.6. Red Hat OpenShift Pipelines General Availability 1.10.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.10.1 が OpenShift Container Platform 4.11、4.12、および 4.13 で利用できるようになりました。
4.1.3.6.1. Pipelines as Code の修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、ペイロードからのソースブランチ情報に
refs/heads/が含まれていたが、ユーザーが設定したターゲットブランチにブランチ名mainのみが CEL 式に含まれていた場合、プッシュリクエストは失敗していました。今回の更新により、ベースブランチまたはターゲットブランチのペイロードにrefs/heads/がある場合、Pipelines as Code はプッシュリクエストを渡し、パイプラインをトリガーします。 -
この更新の前は、
PipelineRunオブジェクトを作成できなかった場合、Tekton コントローラーから受け取ったエラーがユーザーに報告されませんでした。今回の更新により、Pipelines as Code はエラーメッセージを GitHub インターフェイスに報告し、ユーザーがエラーをトラブルシューティングできるようにします。Pipelines as Code は、パイプラインの実行中に発生したエラーも報告します。 - 今回の更新により、Pipelines as Code は、インフラストラクチャーの問題により OpenShift Container Platform クラスターでシークレットを作成できなかった場合に、シークレットを GitHub のチェックインターフェイスにエコーしません。
- 今回の更新により、使用されなくなった非推奨の API が Red Hat OpenShift Pipelines から削除されます。
4.1.3.7. Red Hat OpenShift Pipelines General Availability 1.10.2 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.10.2 が OpenShift Container Platform 4.11、4.12、および 4.13 で利用できるようになりました。
4.1.3.7.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
この更新前は、Tekton Operator の問題により、ユーザーは enable-api-fields フラグの値を beta に設定できませんでした。今回の更新でこの問題が修正されています。TektonConfig CR で、enable-api-fields フラグの値を beta に設定できるようになりました。
4.1.3.8. Red Hat OpenShift Pipelines General Availability 1.10.3 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.10.3 が OpenShift Container Platform 4.11、4.12、および 4.13 で利用できるようになりました。
4.1.3.8.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
この更新前は、Tekton Operator はカスタマイズのためのパフォーマンス設定フィールドを公開していませんでした。この更新により、クラスター管理者は、ニーズに基づいて TektonConfig CR の次のパフォーマンス設定フィールドをカスタマイズできます。
-
disable-ha -
buckets -
kube-api-qps -
kube-api-burst -
threads-per-controller
4.1.3.9. Red Hat OpenShift Pipelines General Availability 1.10.4 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.10.4 が OpenShift Container Platform 4.11、4.12、および 4.13 で利用できるようになりました。
4.1.3.9.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新により、パイプライン実行における
PipelineRefフィールドのバンドルリゾルバー変換の問題が修正されます。現在、変換機能は、変換後にkindフィールドの値をPipelineに設定します。 -
この更新前は、
pipelinerun.timeoutsフィールドはtimeouts.pipeline値にリセットされ、timeouts.tasks値とtimeouts.finally値は無視されました。この更新により問題が修正され、PipelineRunリソースの正しいデフォルトのタイムアウト値が設定されます。 - この更新前は、コントローラーのログに不要なデータが含まれていました。今回の更新でこの問題が修正されています。
4.1.3.10. Red Hat OpenShift Pipelines General Availability 1.10.5 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.10.5 が OpenShift Container Platform 4.11、4.12、4.13 に加え、4.10 でも利用できるようになりました。
Red Hat OpenShift Pipelines 1.10.5 は、OpenShift Container Platform 4.10、4.11、4.12、および 4.13 の pipelines-1.10 チャネルでのみ使用できます。OpenShift Container Platform バージョンの latest チャネルでは利用できません。
4.1.3.10.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新が行われる前は、
ocおよびtknコマンドを使用しても、大規模なパイプライン実行がリストされたり、削除されませんでした。この更新では、この問題の原因となっていた巨大なアノテーションを圧縮することで、この問題を軽減します。圧縮後もパイプラインの実行が大きすぎる場合は、同じエラーが再発することに注意してください。 -
この更新より前は、
pipelineRun.spec.taskRunSpecs.podTemplateオブジェクトで指定された Pod テンプレートのみがパイプライン実行の対象となります。この更新により、pipelineRun.spec.podTemplateオブジェクトで指定された Pod テンプレートも考慮され、pipelineRun.spec.taskRunSpecs.podTemplateオブジェクトで指定されたテンプレートとマージされます。
4.1.4. Red Hat OpenShift Pipelines General Availability 1.9 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.9 が OpenShift Container Platform 4.11、4.12、および 4.13 で利用できるようになりました。
4.1.4.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.9 の主な新機能について説明します。
4.1.4.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新により、パイプラインパラメーターと結果を配列とオブジェクトディクショナリー形式で指定できるようになりました。
- この更新により、Container Storage Interface (CSI) およびワークスペースの projected ボリュームがサポートされます。
-
今回の更新により、パイプラインステップを定義するときに
stdoutConfigおよびstderrConfigパラメーターを指定できるようになりました。これらのパラメーターを定義すると、ステップに関連付けられた標準出力と標準エラーをローカルファイルにキャプチャーするのに役立ちます。 -
今回の更新により、
steps.onErrorイベントハンドラーに$(params.CONTINUE)などの変数を追加できるようになりました。 -
今回の更新により、
PipelineResults定義でfinallyタスクからの出力を使用できるようになりました。たとえば$(finally.<pipelinetask-name>.result.<result-name>)では、<pipelinetask-name>はパイプラインタスク名を表し、<result-name>は結果名を表します。 - この更新では、タスク実行のタスクレベルのリソース要件をサポートがされます。
- 今回の更新により、名前に基づいて、パイプラインと定義されたタスクの間で共有されるパラメーターを再作成する必要がなくなりました。この更新は、開発者プレビュー機能の一部です。
- この更新により、組み込みの git、クラスター、バンドル、およびハブリゾルバーなどのリモート解決のサポートが追加されます。
4.1.4.1.2. トリガー リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新では、
NamespacedInterceptorを定義するInterceptorCRD が追加されました。NamespacedInterceptorは、トリガー内のインターセプター参照のkindセクションまたはEventListener仕様で使用できます。 -
この更新により
CloudEventsが有効になります。 - 今回の更新により、トリガーを定義するときに Webhook ポート番号を設定できるようになりました。
-
今回の更新では、トリガー
eventIDを使用したTriggerBindingへの入力がサポートされるようになりました。 この更新では、
ClusterInterceptorサーバーの証明書の検証とローテーションがサポートされています。-
トリガーは、コアインターセプターの証明書を検証し、証明書の有効期限が切れると新しい証明書を
ClusterInterceptorにローテーションします。
-
トリガーは、コアインターセプターの証明書を検証し、証明書の有効期限が切れると新しい証明書を
4.1.4.1.3. CLI リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新では、
describeコマンドでのアノテーションの表示がサポートされています。 -
今回の更新では、
pr describeコマンドでのパイプライン、タスク、およびタイムアウトの表示がサポートされています。 -
今回の更新では、
pipeline startコマンドでパイプライン、タスク、およびタイムアウトを提供するフラグが追加されました。 -
今回の更新では、タスクとパイプラインの
describeコマンドで、オプションまたは必須のワークスペースの存在を表示できるようになりました。 -
今回の更新では、タイムスタンプ付きのログを表示するための
timestampsフラグが追加されました。 -
今回の更新では、
PipelineRunに関連付けられたTaskRunの削除を無視する新しいフラグ--ignore-running-pipelinerunが追加されました。 -
今回の更新では、実験的なコマンドのサポートが追加されました。今回の更新では、試験的なサブコマンドである
signとverifyもtknCLI ツールに追加されました。 - 今回の更新では、ファイルを生成せずに Z シェル (Zsh) 補完機能を使用できるようになりました。
今回の更新では、
opcという新しい CLI ツールが導入されました。今後のリリースで、tknCLI ツールがopcに置き換えられることが予想されます。重要-
新しい CLI ツール
opcはテクノロジープレビュー機能です。 -
opcはtknの代替となり、Red Hat OpenShift Pipelines 固有の追加機能を備えていますが、それらは必ずしもtknに適合するとは限りません。
-
新しい CLI ツール
4.1.4.1.4. Operator リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Pipelines as Code がデフォルトでインストールされます。
-pフラグを使用して、Pipelines as Code を無効にすることができます。oc patch tektonconfig config --type="merge" -p '{"spec": {"platforms": {"openshift":{"pipelinesAsCode": {"enable": false}}}}}'$ oc patch tektonconfig config --type="merge" -p '{"spec": {"platforms": {"openshift":{"pipelinesAsCode": {"enable": false}}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
今回の更新により、
TektonConfigCRD で Pipelines as Code 設定の変更も可能になりました。 - 今回の更新により、開発者パースペクティブを無効にした場合に Operator が開発者コンソール関連のカスタムリソースをインストールしなくなりました。
-
今回の更新には、Bitbucket Server および Bitbucket Cloud の
ClusterTriggerBindingサポートが含まれており、クラスター全体でTriggerBindingを再利用するのに役立ちます。
4.1.4.1.5. リゾルバー リンクのコピーリンクがクリップボードにコピーされました!
リゾルバーはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
今回の更新により、
TektonConfigCRD でパイプラインリゾルバーを設定できるようになりました。パイプラインリゾルバーenable-bundles-resolver、enable-cluster-resolver、enable-git-resolver、enable-hub-resolverを、有効または無効にできます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow TektonConfigでリゾルバー固有の設定も指定できます。たとえば、次のフィールドをmapstringstring形式で定義して、個々のリゾルバーを設定できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.4.1.6. Tekton Chains リンクのコピーリンクがクリップボードにコピーされました!
Tekton Chains はテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
この更新の前は、Open Container Initiative (OCI) イメージのみが in-toto 出所エージェントの
TaskRunの出力としてサポートされていました。この更新では、ARTIFACT_URIおよびARTIFACT_DIGESTの接尾辞を使用して、出所メタデータが出力として追加されます。 -
この更新の前は、
TaskRun構成証明のみがサポートされていました。この更新では、PipelineRun構成証明のサポートも追加されます。 -
この更新では、Pod テンプレートから
imgPullSecretパラメーターを取得するための Tekton Chains のサポートが追加されます。この更新により、サービスアカウントを変更せずに、各パイプライン実行またはタスク実行に基づいてリポジトリー認証を設定できます。
4.1.4.1.7. Tekton Hub リンクのコピーリンクがクリップボードにコピーされました!
Tekton Hub はテクノロジープレビュー機能としてのみ提供されます。テクノロジープレビュー機能は、Red Hat 製品サービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
この更新では、管理者は、デフォルトの Tekton Hub データベースを使用する代わりに、Crunchy PostgreSQL などの外部データベースを Tekton Hub で 使用できるようになりました。この更新は、次のアクションを実行するのに役立ちます。
- Tekton Hub で使用する外部データベースの座標指定。
- Operator によってデプロイされたデフォルトの Tekton Hub データベースの無効化。
この更新では、外部 Git リポジトリーから
config.yamlの依存関係が削除され、完全な設定データが APIConfigMapに移動されます。この更新は、管理者が次のアクションを実行するのに役立ちます。- Tekton Hub カスタムリソースへの、カテゴリー、カタログ、スコープ、defaultScopes などの設定データの追加。
- クラスター上の Tekton Hub 設定データの変更。すべての変更は、Operator をアップグレードしても保持されます。
- Tekton Hub のカタログリストの更新。
Tekton Hub のカテゴリーの変更。
注記設定データを追加しない場合は、Tekton Hub 設定用の API
ConfigMapのデフォルトデータを使用できます。
4.1.4.1.8. Pipelines as Code リンクのコピーリンクがクリップボードにコピーされました!
-
この更新では、
RepositoryCRD で同時実行制限のサポートが追加され、一度にリポジトリーで実行されるPipelineRunsの最大数が定義できます。プルリクエストまたはプッシュイベントからのPipelineRunは、アルファベット順にキューに入れられます。 -
この更新では、リポジトリーの最新パイプライン実行のログを表示するための新しいコマンド
tkn pac logsが追加されます。 この更新では、GitHub および GitLab へのプッシュリクエストとプルリクエストのファイルパスにおける高度なイベントマッチングがサポートされています。たとえば、
docsディレクトリー内のマークダウンファイルのパスが変更された場合にのみ、Common Expression Language (CEL) を使用してパイプラインを実行できます。... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && "docs/*.md".pathChanged()... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && "docs/*.md".pathChanged()Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
今回の更新により、アノテーションを使用して、
pipelineRef:オブジェクトでリモートパイプラインを参照できるようになります。 -
今回の更新により、Pipelines as Code を使用して新しい GitHub リポジトリーを自動設定できるようになります。これにより、namespace が設定され、GitHub リポジトリーの
RepositoryCRD が作成されます。 -
今回の更新により、Pipelines as Code は、プロバイダー情報を使用して
PipelineRunsのメトリクスを生成します。 この更新では、
tkn-pacプラグインに次の機能拡張が提供されます。- 実行中のパイプラインを正しく検出します。
- 障害完了時間がない場合に期間表示を修正します。
-
エラースニペットを表示し、
tkn-pac describeコマンドのエラー正規表現パターンを強調表示します。 -
use-real-timeスイッチをtkn-pac lsおよびtkn-pac describeコマンドに追加します。 -
tkn-pacログのドキュメントをインポートします。 -
tkn-pac lsおよびtkn-pac describeコマンドで、pipelineruntimeoutを失敗として表示します。 -
--target-pipelinerunオプションを使用して、特定のパイプライン実行の失敗を表示します。
- 今回の更新により、バージョン管理システム (VCS) コメントまたは GitHub チェックの小さなスニペットの形式で、パイプライン実行のエラーを表示できます。
- 今回の更新により、Pipelines as Code は、タスクが単純な形式である場合にオプションでタスク内のエラーを検出し、それらのタスクを GitHub のアノテーションとして追加できます。この更新は、開発者プレビュー機能の一部です。
この更新では、次の新しいコマンドが追加されます。
-
tkn-pac webhook add: プロジェクトリポジトリー設定に Webhook を追加し、リポジトリーを更新せずに、既存のk8s Secretオブジェクトのwebhook.secretキーを更新します。 -
tkn-pac webhook update-token: リポジトリーを更新せずに、既存のk8s Secretオブジェクトのプロバイダートークンを更新します。
-
-
この更新により、
tkn-pac create repoコマンドの機能が強化されます。このコマンドは、GitHub、GitLab、および BitbucketCloud の Webhook を作成および設定し、リポジトリーを作成します。 -
この更新により、
tkn-pac describeコマンドは 50 件の最新イベントが順に表示されます。 -
この更新では、
tkn-pac logsコマンドに--lastオプションが追加されます。 -
この更新により、
tkn-pac resolveコマンドは、ファイルテンプレートでgit_auth_secretを検出すると、トークンの入力を求めます。 - この更新により、Pipelines as Code はシークレットをログスニペットから非表示にして、GitHub インターフェイスでシークレットが公開されるのを回避します。
-
この更新により、
git_auth_secretに対して自動的に生成されるシークレットは、PipelineRunによる所有者参照になります。シークレットは、パイプライン実行の実行後ではなく、PipelineRunで消去されます。 -
この更新により、
/cancelコメントを使用したパイプライン実行のキャンセルがサポートされます。 この更新の前は、GitHub アプリのトークンスコープが定義されておらず、すべてのリポジトリーインストールでトークンが使用されていました。この更新により、次のパラメーターを使用して、GitHub アプリトークンの範囲をターゲットリポジトリーに設定できます。
-
secret-github-app-token-scoped: アプリのインストールがアクセスできるすべてのリポジトリーではなく、ターゲットリポジトリーにアプリトークンのスコープを設定します。 -
secret-github-app-scope-extra-repos: 追加の所有者またはリポジトリーを使用して、アプリトークンのスコープをカスタマイズします。
-
- この更新により、GitLab でホストされている独自の Git リポジトリーで Pipelines as Code を使用できるようになります。
- この更新により、namespace の kubernetes イベント形式でパイプライン実行の詳細にアクセスできるようになります。その詳細は、admin namespace へのアクセスを必要とせずにパイプラインエラーをトラブルシューティングするのに役立ちます。
- この更新により、Git プロバイダーを使用した Pipelines as Code での URL 認証がサポートされます。
-
この更新により、
pipelines-as-codeconfig map の設定を使用して、ハブカタログの名前を設定できるようになります。 -
この更新により、
max-keep-runパラメーターの上限とデフォルトの制限を設定できるようになります。 - 今回の更新では、Pipelines as Code にカスタム Secure Sockets Layer (SSL) 証明書を挿入し、カスタム証明書を使用してプロバイダーインスタンスに接続する方法を説明したドキュメントが追加されます。
-
この更新により、
PipelineRunリソース定義にログ URL がアノテーションとして含まれるようになります。たとえば、tkn-pac describeコマンドは、PipelineRunを記述するときにログリンクを表示します。 -
今回の更新により、
tkn-pacログにPipelineRun名ではなくリポジトリー名が表示されるようになります。
4.1.4.2. 互換性を失わせる変更点 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新では、
Conditionsカスタムリソース定義 (CRD) タイプが削除されました。代わりにWhenExpressionsを使用します。 -
今回の更新では、Pipeline、PipelineRun、Task、Clustertask、TaskRun などの
tekton.dev/v1alpha1API パイプラインリソースのサポートが削除されました。 -
今回の更新では、
tkn-pac setupコマンドが削除されました。代わりに、tkn-pac webhook addコマンドを使用して、Webhook を既存の Git リポジトリーに再度追加します。また、tkn-pac webhook update-tokenコマンドを使用して、Git リポジトリー内の既存のシークレットオブジェクトの個人プロバイダーアクセストークンを更新します。 -
今回の更新により、デフォルト設定でパイプラインを実行する namespace は、
pod-security.kubernetes.io/enforce:privilegedラベルをワークロードに適用しません。
4.1.4.3. 非推奨および削除された機能 リンクのコピーリンクがクリップボードにコピーされました!
-
Red Hat OpenShift Pipelines 1.9.0 リリースでは、
ClusterTasksが非推奨となり、今後のリリースで削除される予定です。代わりに、Cluster Resolverを使用できます。 -
Red Hat OpenShift Pipelines 1.9.0 リリースでは、単一の
EventListener仕様でtriggersとnamespaceSelectorフィールドを使用することは推奨されておらず、今後のリリースで削除される予定です。これらのフィールドは、異なるEventListener仕様では正常に使用できます。 -
Red Hat OpenShift Pipelines 1.9.0 リリースでは、
tkn pipelinerun describeコマンドはPipelineRunリソースのタイムアウトを表示しません。 -
Red Hat OpenShift Pipelines 1.9.0 リリースでは、PipelineResource カスタムリソース (CR) が非推奨になりました。
PipelineResourceCR はテクノロジープレビュー機能であり、tekton.dev/v1alpha1API の一部でした。 - Red Hat OpenShift Pipelines 1.9.0 リリースでは、クラスタータスクからのカスタムイメージパラメーターは非推奨になりました。代わりとして、クラスタータスクをコピーして、その中でカスタムイメージを使用できます。
4.1.4.4. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
-
Red Hat OpenShift Pipelines Operator をアンインストールすると、
chains-secretおよびchains-configconfig map が削除されます。これらにはユーザーデータが含まれているため、削除せずに保持する必要があります。
Windows でコマンドの
tkn pacセットを実行すると、Command finished with error: not supported by Windows.のエラーメッセージが表示される場合があります。回避策:
NO_COLOR環境変数をtrueに設定します。tkn pac resolveコマンドがテンプレート化されたパラメーター値を使用して機能する場合、tkn pac resolve -f <filename> | oc create -fコマンドを実行しても、想定どおりの結果が得られない場合があります。回避策: この問題を軽減するには、
tkn pac resolve -f <filename> -o tempfile.yamlコマンドを実行してtkn pac resolveの出力を一時ファイルに保存してから、oc create -f tempfile.yamlコマンドを実行します。例:tkn pac resolve -f <filename> -o /tmp/pull-request-resolved.yaml && oc create -f /tmp/pull-request-resolved.yaml。
4.1.4.5. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、空の配列を置き換えた後、元の配列は中のパラメーターを無効にして空の文字列を返していました。今回の更新により、この問題は解決され、元の配列は空として返されます。
- この更新の前は、パイプライン実行のサービスアカウントに重複するシークレットが存在すると、タスク Pod の作成に失敗していました。今回の更新により、この問題が解決され、サービスアカウントに重複するシークレットが存在する場合でもタスク Pod は正常に作成されるようになりました。
-
この更新の前は、TaskRun の
spec.StatusMessageフィールドを見ても、TaskRunがユーザーによってキャンセルされたのか、その一部であるPipelineRunによってキャンセルされたのかを区別できませんでした。今回の更新により、この問題は解決され、ユーザーは TaskRun のspec.StatusMessageフィールドを見て、TaskRunのステータスを区別できるようになりました。 - この更新の前は、無効なオブジェクトの古いバージョンを削除すると、webhook の検証が削除されていました。今回の更新で、この問題は解決されました。
今回の更新の前は、
timeouts.pipelineパラメーターを0に設定すると、timeouts.tasksパラメーターまたはtimeouts.finallyパラメーターを設定できませんでした。今回の更新で問題が解決されました。これで、timeouts.pipelineパラメーター値を設定するときに、`timeouts.tasks` パラメーターまたはtimeouts.finallyパラメーターのいずれかの値を設定できます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - この更新の前は、別のツールが PipelineRun または TaskRun のラベルまたはアノテーションを更新すると、競合状態が発生する可能性がありました。今回の更新により、この問題は解決され、ラベルまたはアノテーションを結合できるようになりました。
- この更新の前は、ログキーにパイプラインコントローラーと同じキーはありませんでした。今回の更新により、この問題は解決され、パイプラインコントローラーのログストリームと一致するようにログキーが更新されました。ログのキーは、ts から timestamp、level から severity、message から msg に変更されました。
- この更新の前は、PipelineRun が不明ステータスで削除された場合、エラーメッセージは生成されませんでした。今回の更新により、この問題は解決され、エラーメッセージが生成されるようになります。
-
この更新の前は、
listやpushなどのバンドルコマンドにアクセスするには、kubeconfigファイルを使用する必要がありました。今回の更新により、この問題は解決され、kubeconfigファイルはバンドルコマンドにアクセスする必要がなくなりました。 - この更新の前は、TaskRun の削除中に親の PipelineRun が実行されていた場合、TaskRun が削除されていました。今回の更新により、この問題は解決され、親 PipelineRun が実行されていても TaskRuns は削除されなくなりました。
- この更新の前は、ユーザーがパイプラインコントローラーで許可されているよりも多くのオブジェクトを含むバンドルのビルドを試みた場合、Tekton CLI はエラーメッセージを表示しませんでした。今回の更新により、この問題は解決され、ユーザーがパイプラインコントローラーで許可されている制限を超える数のオブジェクトを含むバンドルを構築しようとすると、Tekton CLI にエラーメッセージが表示されるようになります。
-
この更新の前は、クラスターから namespace が削除されても、operator は
ClusterInterceptor ClusterRoleBindingサブジェクトから namespace を削除しませんでした。今回の更新により、この問題は解決され、operator はClusterInterceptor ClusterRoleBindingサブジェクトから namespace を削除するようになります。 -
この更新の前は、デフォルトの Red Hat OpenShift Pipelines Operator インストールで、
pipelines-scc-rolebinding security context constraint(SCC) ロールバインディングリソースがクラスターに残りました。今回の更新により、デフォルトの Red Hat OpenShift Pipelines Operator インストールで、pipelines-scc-rolebinding security context constraint(SCC) ロールバインディングリソースがクラスターから削除されるようになります。
-
この更新の前は、Pipelines as Code は Pipelines as Code
ConfigMapオブジェクトから更新された値を取得しませんでした。今回の更新により、この問題は修正され、Pipelines as CodeConfigMapオブジェクトが新しい変更を検索するようになります。 -
この更新の前は、Pipelines as Code コントローラーは
tekton.dev/pipelineラベルが更新されるのを待たずにcheckrun idラベルを追加して、競合状態を引き起こしていました。今回の更新により、Pipelines as Code コントローラーはtekton.dev/pipelineラベルが更新されるのを待ってからcheckrun idラベルを追加するようになりました。これは、競合状態の回避に役立ちます。 -
この更新の前は、git リポジトリーに
PipelineRunがすでに存在する場合、tkn-pac create repoコマンドはそれをオーバーライドしませんでした。今回の更新ではtkn-pac createコマンドが修正され、git リポジトリーにPipelineRunが存在する場合はそれをオーバーライドするようになり、問題は解決されました。 -
この更新の前は、
tkn pac describeコマンドはすべてのメッセージの理由を表示しませんでした。今回の更新により、この問題は修正され、tkn pac describeコマンドはすべてのメッセージの理由を表示するようになります。 -
この更新の前は、アノテーションのユーザーが
refs/head/rel-*などの正規表現形式を使用して値を指定した場合、プルリクエストは失敗していました。ベースブランチにrefs/headsがないため、プルリクエストは失敗していました。今回の更新では接頭辞が追加され、一致するかどうかもチェックされます。これで問題が解決し、プルリクエストが成功するようになります。
4.1.4.6. Red Hat OpenShift Pipelines General Availability 1.9.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.9.1 が OpenShift Container Platform 4.11、4.12、および 4.13 で利用できるようになりました。
4.1.4.7. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、
tkn pac repo listコマンドは Microsoft Windows で実行できませんでした。今回の更新で問題が修正され、Microsoft Windows でtkn pac repo listコマンドを実行できるようになりました。 - この更新の前は、Pipelines as Code ウォッチャーは設定変更イベントをすべて受信するわけではありませんでした。今回の更新により、Pipelines as Code ウォッチャーが更新され、Pipelines as Code ウォッチャーが設定変更イベントを見逃さなくなりました。
-
この更新の前は、Pipelines as Code によって作成された
TaskRunsやPipelineRunsなどの Pod は、クラスター内のユーザーによって公開されたカスタム証明書にアクセスできませんでした。今回の更新で問題が修正され、クラスター内でTaskRunsまたはPipelineRunsPod からカスタム証明書にアクセスできるようになりました。 -
この更新の前は、FIPS が有効になっているクラスターで、
Triggerリソースで使用されるtekton-triggers-core-interceptorsコアインターセプターは、Pipelines Operator がバージョン 1.9 にアップグレードされた後に機能しませんでした。今回の更新で問題が解決されました。現在、OpenShift はすべてのコンポーネントに MInTLS 1.2 を使用しています。その結果、tekton-triggers-core-interceptorsコアインターセプターが TLS バージョン 1.2 に更新され、その機能は正確に実行されるようになりました。 この更新の前は、内部 OpenShift イメージレジストリーでパイプライン実行を使用する場合、パイプライン実行定義でイメージへの URL をハードコーディングする必要がありました。以下に例を示します。
... - name: IMAGE_NAME value: 'image-registry.openshift-image-registry.svc:5000/<test_namespace>/<test_pipelinerun>' ...... - name: IMAGE_NAME value: 'image-registry.openshift-image-registry.svc:5000/<test_namespace>/<test_pipelinerun>' ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pipelines as Code のコンテキストでパイプライン実行を使用する場合、ハードコーディングされた値により、異なるクラスターおよび namespace でパイプライン実行定義をしようできませんでした。
今回の更新により、namespace とパイプライン実行名の値をハードコーディングする代わりに動的テンプレート変数を使用して、パイプライン実行定義を一般化できます。以下に例を示します。
... - name: IMAGE_NAME value: 'image-registry.openshift-image-registry.svc:5000/{{ target_namespace }}/$(context.pipelineRun.name)' ...... - name: IMAGE_NAME value: 'image-registry.openshift-image-registry.svc:5000/{{ target_namespace }}/$(context.pipelineRun.name)' ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - この更新の前は、Pipelines as Code は同じ GitHub トークンを使用して、デフォルトの GitHub ブランチの同じホストでのみ使用可能なリモートタスクを取得していました。今回の更新で問題が解決されました。Pipelines as Code は同じ GitHub トークンを使用して、任意の GitHub ブランチからリモートタスクを取得するようになりました。
4.1.4.8. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
Tekton Hub CR で使用される Hub API
ConfigMapオブジェクト内のフィールドであるCATALOG_REFRESH_INTERVALの値が、ユーザーが指定したカスタム値で更新されません。回避策: なし。問題 SRVKP-2854 を確認してください。
4.1.4.9. 互換性を失わせる変更点 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新で、OpenShift Container Platform のアップグレードを妨げる OLM のご設定の問題が発生しました。この問題は今後のリリースで修正される予定です。
4.1.4.10. Red Hat OpenShift Pipelines General Availability 1.9.2 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.9.2 が OpenShift Container Platform 4.11、4.12、および 4.13 で利用できるようになりました。
4.1.4.11. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
- この更新前は、リリースの以前のバージョンで OLM の誤設定の問題が発生しており、OpenShift Container Platform のアップグレードが妨げられていました。今回の更新により、この誤設定の問題が修正されました。
4.1.4.12. Red Hat OpenShift Pipelines General Availability 1.9.3 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.9.3 が OpenShift Container Platform 4.11、4.12、4.13 に加え、4.10 でも利用できるようになりました。
4.1.4.13. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新により、大規模パイプラインのパフォーマンスの問題が修正されました。これにより、CPU 使用率は 61%、メモリー使用率は 44% 削減されました。
-
この更新前は、
when式が原因でタスクが実行されない場合、パイプラインの実行は失敗していました。今回の更新により、パイプライン結果でスキップされたタスクの結果が検証されないようにすることで問題を修正しました。現在は、パイプラインの結果は出力されず、結果の欠落を原因とするパイプライン実行の失敗は発生しません。 -
今回の更新により、
pipelineref.bundleをv1beta1API のバンドルリゾルバーに変換する動作が修正されました。現在は変換機能により、変換後にkindフィールドの値がPipelineに設定されます。 -
この更新前は、Pipelines Operator の問題により、ユーザーは
spec.pipeline.enable-api-fieldsフィールドの値をbetaに設定できませんでした。今回の更新でこの問題が修正されています。現在は、TektonConfigカスタムリソースで値をalpha、stable、betaに設定できます。 - この更新前は、Pipelines as Code はクラスターエラーが原因でシークレットを作成できなかった場合、GitHub チェック実行でパブリックな一時トークンが表示されていました。今回の更新でこの問題が修正されています。現在は、シークレットの作成に失敗しても、GitHub チェックインターフェイスにトークンは表示されません。
4.1.4.14. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
- 現在、OpenShift Container Platform Web コンソールでのパイプライン実行の stop オプションに関する既知の問題があります。Actions ドロップダウンリストの stop オプションが期待どおりに機能せず、パイプラインの実行がキャンセルされません。
現在、カスタムリソース定義の変換の失敗が原因で発生する、Pipelines バージョン 1.9.x へのアップグレードに関する既知の問題があります。
回避策: Pipelines バージョン 1.9.x にアップグレードする前に、Red Hat カスタマーポータルの solution に記載されている手順を実行してください。
4.1.5. Red Hat OpenShift Pipelines General Availability 1.8 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.8 が OpenShift Container Platform 4.10、4.11、および 4.12 で利用できるようになりました。
4.1.5.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.8 の主な新機能について説明します。
4.1.5.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新により、ARM ハードウェアで実行されている OpenShift Container Platform クラスターで Red Hat OpenShift Pipelines GA 1.8 以降を実行できるようになりました。これには、
ClusterTaskリソースとtknCLI ツールのサポートが含まれます。
ARM ハードウェアでの Red Hat OpenShift Pipelines の実行は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
この更新では、
TaskRunリソースのStepおよびSidecarオーバーライドが実装されています。 この更新により、
PipelineRunステータス内に最小限のTaskRunおよびRunステータスが追加されます。この機能を有効にするには、
TektonConfigカスタムリソース定義のパイプラインセクションで、enable-api-fieldsフィールドをalphaに設定する必要があります。今回の更新により、パイプライン実行機能の正常な終了がアルファ機能から安定した機能に昇格されました。その結果、以前に廃止された
PipelineRunCancelledステータスは引き続き廃止され、将来のリリースで削除される予定です。この機能はデフォルトで使用できるため、
TektonConfigカスタムリソース定義でpipeline.enable-api-fieldsフィールドをalphaに設定する必要がなくなりました。今回の更新により、ワークスペースの名前を使用してパイプラインタスクのワークスペースを指定できるようになりました。この変更により、
PipelineおよびPipelineTaskリソースのペアに共有ワークスペースを指定できるようになりました。ワークスペースを明示的にマップすることもできます。この機能を有効にするには、
TektonConfigカスタムリソース定義のパイプラインセクションで、enable-api-fieldsフィールドをalphaに設定する必要があります。- 今回の更新により、埋め込み仕様のパラメーターが変更なしに伝播されるようになりました。
-
今回の更新により、アノテーションとラベルを使用して、
PipelineRunリソースによって参照されるTaskリソースの必要なメタデータを指定できるようになりました。これにより、実行コンテキストに依存するTaskメタデータは、パイプライン実行時に利用できます。 -
この更新により、
paramsとresultsの値にオブジェクトまたはディクショナリータイプのサポートが追加されました。この変更は後方互換性に影響し、以前のクライアントを新しい Red Hat OpenShift Pipelines バージョンで使用するなど、前方互換性を損なう場合があります。この更新により、ArrayOrStruct構造が変更されます。これは、Go 言語 API をライブラリーとして使用するプロジェクトに影響します。 -
この更新により、
SkippingReason値がPipelineRunステータスフィールドのSkippedTasksフィールドに追加され、特定の PipelineTask がスキップされた理由をユーザーが知ることができるようになりました。 この更新プログラムは、
Taskオブジェクトから結果を発行するためにarray型を使用できるアルファ機能をサポートします。結果の型はstringからArrayOrStringに変更されています。たとえば、タスクはタイプを指定してアレイの結果を生成できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow さらに、タスクスクリプトを実行して、結果をアレイで入力できます。
echo -n "[\"hello\",\"world\"]" | tee $(results.array-results.path)
$ echo -n "[\"hello\",\"world\"]" | tee $(results.array-results.path)Copy to Clipboard Copied! Toggle word wrap Toggle overflow この機能を有効にするには、
TektonConfigカスタムリソース定義のパイプラインセクションで、enable-api-fieldsフィールドをalphaに設定する必要があります。この機能は進行中であり、TEP-0076 の一部です。
4.1.5.1.2. トリガー リンクのコピーリンクがクリップボードにコピーされました!
この更新により、
EventListener仕様のTriggerGroupsフィールドがアルファ機能から安定した機能に移行します。このフィールドを使用すると、トリガーのグループを選択および実行する前にインターセプターのセットを指定できます。この機能はデフォルトで使用できるため、
TektonConfigカスタムリソース定義でpipeline.enable-api-fieldsフィールドをalphaに設定する必要がなくなりました。-
今回の更新により、
Triggerリソースは、HTTPS を使用してClusterInterceptorサーバーを実行することにより、エンドツーエンドの安全な接続をサポートします。
4.1.5.1.3. CLI リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新では、
tkn taskrun exportコマンドを使用して、ライブタスクの実行をクラスターから YAML ファイルにエクスポートできます。これを使用して、タスクの実行を別のクラスターにインポートできます。 -
今回の更新により、
tkn pipeline startコマンドに-o nameフラグを追加して、開始直後にパイプライン実行の名前を出力できるようになりました。 -
今回の更新により、利用可能なプラグインのリストが
tkn --helpコマンドの出力に追加されました。 -
今回の更新により、パイプラインの実行またはタスクの実行を削除する際に、
--keepフラグと--keep-sinceフラグの両方を一緒に使用できるようになりました。 -
今回の更新により、非推奨の
PipelineRunCancelled値ではなく、spec.statusフィールドの値としてCanceledを使用できるようになりました。
4.1.5.1.4. Operator リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新により、管理者はローカルの Tekton Hub インスタンスを設定して、デフォルトデータベースではなくカスタムデータベースを使用できるようになりました。
今回の更新では、クラスター管理者としてローカルの Tekton Hub インスタンスを有効にすると、データベースが定期的に更新され、カタログの変更が Tekton Hub Web コンソールに表示されるようになります。更新の間隔は調整できます。
以前は、カタログ内のタスクとパイプラインをデータベースに追加するために、そのタスクを手動で実行するか、cron ジョブをセットアップして実行していました。
- 今回の更新で、最小限の設定で Tekton Hub インスタンスをインストールし、実行できるようになりました。これにより、チームと連携して、必要な追加カスタマイズを決定できます。
-
今回の更新で、
GIT_SSL_CAINFOがgit-cloneタスクに追加され、セキュアなリポジトリーをクローンできるようになりました。
4.1.5.1.5. Tekton Chains リンクのコピーリンクがクリップボードにコピーされました!
Tekton Chains はテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
- 今回の更新により、静的トークンではなく OIDC を使用して Vault にログインすることができます。この変更により、Spire は OIDC 認証情報を生成し、信頼されるワークロードのみが vault にログインできます。また、Vault アドレスを環境変数として挿入するのではなく、設定値として渡すこともできます。
-
Red Hat OpenShift Pipelines Operator を使用してインストールした場合、設定マップの直接更新はサポートされないため、
openshift-pipelinesnamespace の Tekton チェーンのchain-config設定マップは、Red Hat OpenShift Pipelines Operator のアップグレード後に自動的にデフォルトにリセットされます。ただし、今回の更新により、TektonChainカスタムリソースを使用して Tekton Chains を設定できるようになりました。この機能により、アップグレード中に上書きされるchain-config設定マップとは異なり、アップグレード後も設定を維持できます。
4.1.5.1.6. Tekton Hub リンクのコピーリンクがクリップボードにコピーされました!
Tekton Hub はテクノロジープレビュー機能としてのみ提供されます。テクノロジープレビュー機能は、Red Hat 製品サービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
今回の更新により、Operator を使用して Tekton Hub の新しいインスタンスをインストールすると、Tekton Hub ログインがデフォルトで無効になります。ログインおよび評価機能を有効にするには、Tekton Hub のインストール時に Hub API シークレットを作成する必要があります。
注記Red Hat OpenShift Pipelines 1.7 では Tekton Hub ログインがデフォルトで有効になっているため、Operator をアップグレードすると、Red Hat OpenShift Pipelines 1.8 ではログインがデフォルトで有効になります。このログインを無効にするには、OpenShift Pipelines 1.7.x -→ 1.8.x からアップグレードした後の Tekton Hub ログインの無効化 を参照してください。
今回の更新により、管理者はローカルの Tekton Hub インスタンスを設定して、デフォルトデータベースではなくカスタム PostgreSQL 13 データベースを使用できるようになりました。これを行うには、
tekton-hub-dbという名前のSecretリソースを作成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 今回の更新により、カタログからデータベースにリソースを追加するために Tekton Hub Web コンソールにログインする必要がなくなりました。現在、これらのリソースは、Tekton Hub API が初めて実行を開始したときに自動的に追加されます。
- この更新プログラムは、カタログ更新 API ジョブを呼び出すことにより、30 分ごとにカタログを自動的に更新します。この間隔は user-configurable です。
4.1.5.1.7. Pipelines as Code リンクのコピーリンクがクリップボードにコピーされました!
コードとしてのパイプライン (PAC) は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
今回の更新により、開発者は、重複したリポジトリーを Pipelines as Code run に追加しようとすると、
tkn-pacCLI ツールから通知を受け取ります。tkn pac create repositoryを入力する場合、各リポジトリーには一意の URL が必要です。この通知は、ハイジャックエクスプロイトの防止にも役立ちます。 -
今回の更新により、開発者は新しい
tkn-pac setup cliコマンドを使用して、Webhook メカニズムを使用して Git リポジトリーを Pipelines as Code に追加できるようになりました。このように、GitHub アプリを使用できない場合でも、Pipelines as Code を使用できます。この機能には、GitHub、GitLab、BitBucket のリポジトリーのサポートが含まれます。 今回の更新により、Pipelines as Code は、次のような機能を備えた GitLab 統合をサポートします。
- プロジェクトまたはグループの ACL (アクセス制御リスト)
-
許可されたユーザーからの
/OK-to-testサポート -
/retestサポート。
今回の更新により、Common Expression Language (CEL) を使用して高度なパイプラインフィルタリングを実行できます。CEL では、
PipelineRunリソースのアノテーションを使用して、パイプラインの実行をさまざまな Git プロバイダーイベントと一致させることができます。以下に例を示します。... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && target_branch == "main" && source_branch == "wip"... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && target_branch == "main" && source_branch == "wip"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
以前は、開発者は、プルリクエストなどの Git イベントごとに
.tektonディレクトリーで 1 つのパイプラインしか実行できませんでした。今回の更新により、.tektonディレクトリーに複数のパイプラインを実行できるようになりました。Web コンソールは、実行のステータスとレポートを表示します。パイプラインは並行して動作し、Git プロバイダーインターフェイスに報告します。 -
今回の更新により、プルリクエストで
/testまたは/retestにコメントすることで、パイプラインの実行をテストまたは再テストできるようになりました。名前でパイプライン実行を指定することもできます。たとえば、/test <pipelinerun_name>または/retest <pipelinerun-name>を入力できます。 -
今回の更新により、新しい
tkn-pac delete repositoryコマンドを使用して、リポジトリーカスタムリソースとそれに関連付けられたシークレットを削除できるようになりました。
4.1.5.2. 互換性を失わせる変更点 リンクのコピーリンクがクリップボードにコピーされました!
この更新により、
TaskRunおよびPipelineRunリソースのデフォルトのメトリックレベルが次の値に変更されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
今回の更新により、アノテーションまたはラベルが
PipelineおよびPipelineRunリソースの両方にある場合、Runタイプの値が優先されます。アノテーションまたはラベルがTaskおよびTaskRunリソースにある場合も同様です。 -
Red Hat OpenShift Pipelines 1.8 では、以前に非推奨の
PipelineRun.Spec.ServiceAccountNamesフィールドが削除されました。代わりにPipelineRun.Spec.TaskRunSpecsフィールドを使用してください。 -
Red Hat OpenShift Pipelines 1.8 では、以前に非推奨の
TaskRun.Status.ResourceResults.ResourceRefフィールドが削除されました。代わりにTaskRun.Status.ResourceResults.ResourceNameフィールドを使用してください。 -
Red Hat OpenShift Pipelines 1.8 では、以前に非推奨となった
Conditionsリソースタイプが削除されました。Conditionsリソースを、これが含まれるPipelineリソース定義から削除します。代わりにPipelineRun定義でwhen式を使用してください。
-
Tekton Chains では、
tekton-provenance形式は本リリースで削除されました。代わりに、TektonChainカスタムリソースで"artifacts.taskrun.format": "in-toto"を設定して、in-toto形式を使用します。
Pipeline が Code 0.5.x として同梱される Red Hat OpenShift Pipelines 1.7.x。現在の更新には、Pipeline が Code 0.10.x として同梱されます。この変更により、新規コントローラーの
openshift-pipelinesnamespace に新規ルートが作成されます。このルートは、Pipeline を Code として使用する GitHub Apps または Webhook で更新する必要があります。ルートを取得するには、以下のコマンドを使用します。oc get route -n openshift-pipelines pipelines-as-code-controller \ --template='https://{{ .spec.host }}'$ oc get route -n openshift-pipelines pipelines-as-code-controller \ --template='https://{{ .spec.host }}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
今回の更新で、コードとしてのパイプラインは、
Repositoryカスタムリソース定義 (CRD) のデフォルトの秘密鍵の名前を変更します。CRD で、tokenをprovider.tokenに置き換え、secretをwebhook.secretに置き換えます。 -
今回の更新で、Pipelines as Code は、特別なテンプレート変数を、プライベートリポジトリーの複数のパイプライン実行をサポートするものに置き換えます。パイプラインの実行で、
secret: pac-git-basic-auth-{{repo_owner}}-{{repo_name}}をsecret: {{ git_auth_secret }}に置き換えます。 今回の更新により、コードとしての Pipeline が
tkn-pacCLI ツールで以下のコマンドを更新するようになりました。-
tkn pac repository createをtkn pac create repositoryに置き換えます。 -
tkn pac repository deleteをtkn pac delete repositoryに置き換えます。 -
tkn pac repository listをtkn pac listに置き換えます。
-
4.1.5.3. 非推奨および削除された機能 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.11 以降、Red Hat OpenShift Pipelines Operator をインストールおよびアップグレードするための
previewおよびstableチャネルは削除されています。Operator をインストールしてアップグレードするには、適切なpipelines-<version>チャネル、または最新の安定バージョンのlatestチャネルを使用します。たとえば、Pipelines Operator バージョン1.8.xをインストールするには、pipelines-1.8チャネルを使用します。注記OpenShift Container Platform 4.10 以前のバージョンでは、
previewおよびstableチャンネルを使用して Operator をインストールおよびアップグレードできます。Red Hat OpenShift Pipelines GA 1.6 で廃止された
tekton.dev/v1alpha1API バージョンのサポートは、今後の Red Hat OpenShift Pipelines GA 1.9 リリースで削除される予定です。この変更は、
TaskRun、PipelineRun、Task、Pipeline、および同様のtekton.dev/v1alpha1リソースを含むパイプラインコンポーネントに影響します。別の方法として、 Migrating From Tekton v1alpha1 to Tekton v1beta1 で説明されているように、既存のリソースをapiVersion: tekton.dev/v1beta1を使用するように更新します。tekton.dev/v1alpha1API バージョンのバグ修正とサポートは、現在の GA 1.8 ライフサイクルの終了までのみ提供されます。重要Tekton Operator の場合、
operator.tekton.dev/v1alpha1API バージョンは 非 推奨ではありません。この値を変更する必要はありません。-
Red Hat OpenShift Pipelines 1.8 では、
PipelineResourceカスタムリソース (CR) が利用可能ですが、サポートされなくなりました。PipelineResourceCR は Tech Preview 機能であり、tekton.dev/v1alpha1API の一部であり、廃止予定であり、今後の Red Hat OpenShift Pipelines GA 1.9 リリースで削除される予定でした。 -
Red Hat OpenShift Pipelines 1.8 では、
Conditionカスタムリソース (CR) が削除されています。ConditionCR はtekton.dev/v1alpha1API の一部でしたが、これは非推奨であり、今後の Red Hat OpenShift Pipelines GA 1.9 リリースで削除される予定です。 -
Red Hat OpenShift Pipelines 1.8 では、
gsutilのgcr.ioイメージが削除されました。この削除により、このイメージに依存するPipelineリソースを含むクラスターが壊れる可能性があります。バグ修正とサポートは、Red Hat OpenShift Pipelines 1.7 ライフサイクルが終了するまでのみ提供されます。
-
Red Hat OpenShift Pipelines 1.8 では、
PipelineRun.Status.TaskRunsおよびPipelineRun.Status.Runsフィールドは非推奨となり、将来のリリースで削除される予定です。TEP-0100: PipelineRuns に埋め込まれた TaskRuns と Runs Status を参照してください。 Red Hat OpenShift Pipelines 1.8 では、
pipelineRunCancelled状態は非推奨となり、今後のリリースで削除される予定です。PipelineRunオブジェクトの正常な終了は、アルファ機能から安定した機能にプロモートされるようになりました。(TEP-0058: パイプライン実行の正常な終了 を参照してください。) 別の方法として、Cancelled状態を使用できます。これはpipelineRunCancelled状態を置き換えます。PipelineおよびTaskリソースを変更する必要はありません。パイプラインの実行をキャンセルするツールがある場合は、次のリリースでツールを更新する必要があります。この変更は、CLI、IDE 拡張機能などのツールにも影響を与え、新しいPipelineRunステータスをサポートするようにします。この機能はデフォルトで使用できるため、
TektonConfigカスタムリソース定義でpipeline.enable-api-fieldsフィールドをalphaに設定する必要がなくなりました。Red Hat OpenShift Pipelines 1.8 では、
PipelineRunのtimeoutフィールドが非推奨になりました。代わりに、PipelineRun.Timeoutsフィールドを使用してください。これは現在、アルファ機能から安定した機能に昇格しています。この機能はデフォルトで使用できるため、
TektonConfigカスタムリソース定義でpipeline.enable-api-fieldsフィールドをalphaに設定する必要がなくなりました。-
Red Hat OpenShift Pipelines 1.8 では、
initコンテナーはLimitRangeオブジェクトのデフォルトのリクエスト計算から省略されています。
4.1.5.4. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
s2i-nodejsパイプラインは、nodejs:14-ubi8-minimalイメージストリームを使用して、source-to-image (S2I) ビルドを実行できません。そのイメージストリームを使用するとerror building at STEP "RUN /usr/libexec/s2i/assemble": exit status 127メッセージが生成されます。回避策:
nodejs:14-ubi8-minimalイメージストリームではなく、nodejs:14-ubi8を使用します。
Maven および Jib Maven クラスタータスクを実行する場合には、デフォルトのコンテナーイメージは Intel(x86) アーキテクチャーでのみサポートされます。したがって、タスクは ARM、IBM Power Systems (ppc64le)、IBM Z、および LinuxONE (s390x) クラスターで失敗します。
回避策:
MAVEN_IMAGEパラメーター値をmaven:3.6.3-adoptopenjdk-11に設定して、カスタムイメージを指定します。ヒントtkn hubを使用して、ARM、IBM Power Systems (ppc64le)、IBM Z、および LinuxONE (s390x) に Tekton カタログに基づくタスクをインストールする前に、これらのプラットフォームでタスクを実行できるかどうかを確認してください。ppc64leおよびs390xがタスク情報の Platforms セクションに一覧表示されているかどうかを確認するには、tkn hub info task <name>コマンドを実行します。-
ARM、IBM Power Systems、IBM Z、および LinuxONE では、
s2i-dotnetクラスタータスクはサポートされていません。
-
暗黙的なパラメーターマッピングは、最上位の
PipelineまたはPipelineRun定義からtaskRefタスクにパラメーターを誤って渡します。マッピングは、トップレベルのリソースからインラインtaskSpec仕様のタスクにのみ行う必要があります。この問題は、TektonConfigカスタムリソース定義のpipelineセクションでenable-api-fieldsフィールドをalphaに設定することにより、この機能が有効になっているクラスターにのみ影響します。
4.1.5.5. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、Web コンソールの開発者ビューでのパイプライン実行のメトリックは不完全で古くなっていました。今回の更新で問題が修正され、指標が正しくなりました。
-
この更新の前は、パイプラインに失敗した 2 つの並列タスクがあり、そのうちの 1 つが
retries=2であった場合、最後のタスクは実行されず、パイプラインはタイムアウトして実行に失敗しました。たとえば、pipelines-operator-subscriptionタスクが次のエラーメッセージで断続的に失敗しました。Unable to connect to the server: EOF。今回の更新で、最終タスクが常に実行されるように問題が修正されました。 -
この更新の前は、タスクの実行が失敗したためにパイプラインの実行が停止した場合、他のタスクの実行が再試行を完了しない可能性がありました。その結果、
finallyタスクがスケジュールされず、パイプラインがハングしました。 今回の更新で問題が解決されました。TaskRunsおよびRunオブジェクトは、パイプラインの実行が停止したときに (正常な停止によっても) 再試行できるため、パイプラインの実行を完了できます。 -
この更新により、
TaskRunオブジェクトが存在する namespace に 1 つ以上のLimitRangeオブジェクトが存在する場合のリソース要件の計算方法が変更されます。スケジューラーは、stepコンテナーを考慮し、LimitRangeオブジェクトからの要求を因数分解するときに、サイドカーコンテナーなどの他のすべてのアプリコンテナーを除外するようになりました。 -
この更新の前は、特定の条件下で、フラグパッケージが二重ダッシュフラグターミネータ
--の直後のサブコマンドを誤って解析する場合がありました。その場合、実際のコマンドではなく、エントリーポイントサブコマンドが実行されました。今回の更新では、このフラグ解析の問題が修正され、エントリーポイントが正しいコマンドを実行できるようになりました。 -
この更新の前は、イメージのプルが失敗した場合、またはそのプルステータスが不完全であった場合、コントローラーが複数のパニックを生成する可能性がありました。この更新では、
status.TaskSpec値ではなくstep.ImageID値をチェックすることで問題が修正されています。 -
この更新の前は、スケジュールされていないカスタムタスクを含むパイプラインの実行をキャンセルすると、
PipelineRunCouldntCancelエラーが発生していました。今回の更新でこの問題が修正されています。エラーを生成することなく、スケジュールされていないカスタムタスクを含むパイプラインの実行をキャンセルできます。 この更新の前は、
$params["<NAME>"]または$params['<NAME>']の<NAME>にドット文字 (.) が含まれている場合、ドットの右側の名前のどの部分も含まれていませんでした。たとえば、$params["org.ipsum.lorem"]から、orgのみが抽出されました。今回の更新で問題が修正され、
$paramsが完全な値を取得するようになりました。たとえば、$params["org.ipsum.lorem"]と$params['org.ipsum.lorem']は有効で、<NAME>の値全体であるorg.ipsum.loremが抽出されます。<NAME>が一重引用符または二重引用符で囲まれていない場合にも、エラーが出力されます。たとえば、$params.org.ipsum.loremは有効ではなく、検証エラーが発生します。
-
今回の更新により、
Triggerリソースはカスタムインターセプターをサポートし、カスタムインターセプターサービスのポートがClusterInterceptor定義ファイルのポートと同じになるようにします。
-
この更新の前は、Tekton Chains および Operator コンポーネントの
tkn versionコマンドが正しく機能しませんでした。今回の更新で問題が修正され、コマンドが正しく機能し、それらのコンポーネントのバージョン情報が返されるようになりました。 -
この更新の前に、
tkn pr delete --ignore-runningコマンドを実行し、パイプラインの実行にstatus.condition値がない場合、tknCLI ツールは null-pointer エラー (NPE) を生成しました。今回の更新で問題が修正され、CLI ツールがエラーを生成し、実行中のパイプライン実行を正しく無視するようになりました。 -
この更新の前に、
tkn pr delete --keep <value>またはtkn tr delete --keep <value>コマンドを使用し、パイプラインの実行またはタスクの実行の数が値よりも少ない場合、コマンドは予想通りのエラー。今回の更新で問題が修正され、これらの条件下でコマンドが正しくエラーを返すようになりました。 -
この更新の前に、
-pまたは-tフラグと--ignore-runningフラグを指定してtkn pr deleteまたはtkn tr deleteコマンドを使用した場合、コマンドは実行中または保留中のリソースを誤って削除しました。今回の更新で問題が修正され、これらのコマンドが実行中または保留中のリソースを正しく無視するようになりました。
-
今回の更新により、
TektonChainカスタムリソースを使用して Tekton Chains を設定できるようになりました。この機能により、アップグレード中に上書きされるchain-config設定マップとは異なり、アップグレード後も設定を維持できます。 -
今回の更新により、
buildahおよびs2iクラスタータスクを除き、ClusterTaskリソースはデフォルトで root として実行されなくなりました。 -
今回の更新前は、最初の引数として
initを使用し、その後に 2 つ以上の引数を使用すると、Red Hat OpenShift Pipelines 1.7.1 でのタスクが失敗していました。今回の更新により、フラグが正しく解析され、タスクが正常に実行されるようになりました。 今回の更新以前は、無効なロールバインディングにより、OpenShift Container Platform 4.9 および 4.10 への Red Hat OpenShift Pipelines Operator のインストールは、以下のエラーメッセージと共に失敗していました。
error updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleReferror updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleRefCopy to Clipboard Copied! Toggle word wrap Toggle overflow 今回の更新で問題が修正され、障害が発生しなくなりました。
-
以前は、Red Hat OpenShift Pipelines Operator をアップグレードすると
pipelineサービスアカウントが再作成され、サービスアカウントにリンクされたシークレットが失われていました。今回の更新でこの問題が修正されています。アップグレード中に、Operator はpipelineサービスアカウントを再作成しなくなりました。その結果、pipelineサービスアカウントにアタッチされたシークレットはアップグレード後も保持され、リソース (タスクとパイプライン) は引き続き正しく機能します。 -
今回の更新により、
TektonConfigカスタムリソース (CR) でインフラストラクチャーノード設定が設定されている場合、Pipelines as Code Pod はインフラストラクチャーノードで実行されます。 以前は、リソースプルーナーを使用して、各 namespace Operator が個別のコンテナーで実行されるコマンドを作成していました。この設計は、namespaces の数が多いクラスターで大量のリソースを消費しました。たとえば、1 つのコマンドを実行するために、1000 個の namespace を持つクラスターは、Pod 内に 1000 個のコンテナーを生成しました。
今回の更新でこの問題が修正されています。すべてのコマンドがループ内の 1 つのコンテナーで実行されるように、namespace ベースの設定をジョブに渡します。
-
Tekton Chains では、
signing-secretsと呼ばれるシークレットを定義して、タスクとイメージの署名に使用されるキーを保持する必要があります。ただし、この更新の前に、Red Hat OpenShift Pipelines Operator を更新すると、このシークレットがリセットまたは上書きされ、キーが失われました。今回の更新でこの問題が修正されています。これで、Operator を介して Tekton Chains をインストールした後にシークレットが設定された場合、シークレットは保持され、アップグレードによって上書きされなくなりました。 今回の更新以前は、すべての S2I ビルドタスクが以下の様なエラーメッセージと共に失敗していました。
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 今回の更新により、
pipelines-sccセキュリティーコンテキスト制約 (SCC) は、BuildahおよびS2Iクラスタータスクに必要なSETFCAP機能と互換性が確保されています。その結果、BuildahおよびS2Iビルドタスクを正常に実行できます。さまざまな言語やフレームワークで書かれたアプリケーションに対して
BuildahクラスタータスクおよびS2Iビルドタスクを正常に実行するには、buildやpushなどの適切なstepsオブジェクトに以下のスニペットを追加します。securityContext: capabilities: add: ["SETFCAP"]securityContext: capabilities: add: ["SETFCAP"]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 今回の更新前は、Red Hat OpenShift Pipelines Operator のインストールに予想以上に時間がかかりました。この更新プログラムは、インストールプロセスを高速化するために一部の設定を最適化します。
-
今回の更新により、Buildah および S2I クラスタータスクの手順が以前のバージョンよりも少なくなりました。一部のステップは 1 つのステップに結合されているため、
ResourceQuotaおよびLimitRangeオブジェクトでより適切に機能し、必要以上のリソースを必要としません。 -
この更新により、クラスタータスクの Buildah、
tknCLI ツール、およびskopeoCLI ツールのバージョンがアップグレードされます。 -
今回の更新前は、いずれかの namespace が
Terminating状態の場合、RBAC リソースの作成時に Operator が失敗していました。今回の更新により、Operator はTerminating状態の namespace を無視し、RBAC リソースを作成します。 -
この更新の前は、予想どおり、prune cronjobs の Pod がインフラストラクチャーノードでスケジュールされていませんでした。代わりに、それらはワーカーノードでスケジュールされているか、まったくスケジュールされていませんでした。今回の更新により、
TektonConfigカスタムリソース (CR) で設定されている場合、これらのタイプの Pod をインフラストラクチャーノードでスケジュールできるようになりました。
4.1.5.6. Red Hat OpenShift Pipelines General Availability (GA) 1.8.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.8.1 が OpenShift Container Platform 4.10、4.11、および 4.12 で利用できるようになりました。
4.1.5.6.1. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、セキュリティーを強化するために、コンテナーのアクセス権が制限されています。制限付きのアクセス許可は、Red Hat OpenShift Pipelines Operator のすべてのコントローラー Pod と、一部のクラスタータスクに適用されます。アクセス権が制限されているため、特定の設定では
git-cloneクラスタータスクが失敗します。回避策: なし。問題 SRVKP-2634 を確認してください。
インストーラーセットが失敗した状態の場合、
TektonConfigカスタムリソースのステータスがFalseではなくTrueとして誤表示されます。例: 失敗したインストーラセット
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例: 正しくない
TektonConfigステータスoc get tektonconfig config
$ oc get tektonconfig config NAME VERSION READY REASON config 1.8.1 TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.5.6.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新まで、プルーナーは実行中のパイプラインのタスク実行を削除し、警告
some tasks were indicated completed without ancestors being doneを表示していました。今回の更新により、プルーナーは、実行中のパイプラインの一部であるタスク実行を保持します。 -
この更新まで、
pipeline-1.8が Red Hat OpenShift Pipelines Operator 1.8.x をインストールするためのデフォルトのチャネルでした。今回の更新により、latestがデフォルトのチャネルになりました。 - この更新まで、コードとしてのパイプラインのコントローラー Pod は、ユーザーによって公開された証明書にアクセスできませんでした。今回の更新により、コードとしてのパイプラインは、自己署名証明書またはカスタム証明書によって保護されたルートと Git リポジトリーにアクセスできるようになりました。
- この更新まで、Red Hat OpenShift Pipelines 1.7.2 から 1.8.0 にアップグレードすると、タスクが RBAC エラーで失敗していました。今回の更新により、タスクは RBAC エラーなしで正常に実行されます。
-
この更新まで、
tknCLI ツールを使用して、array型のresultオブジェクトを含むタスク実行とパイプライン実行を削除できませんでした。今回の更新により、tknCLI ツールを使用して、array型のresultオブジェクトを含むタスク実行とパイプライン実行を削除できます。 -
この更新まで、パイプライン仕様に
array型のENV_VARSパラメーターを持つタスクが含まれていた場合、パイプラインの実行はinvalid input params for task func-buildpacks: param types don’t match the user-specified type: [ENV_VARS]エラーで失敗していました。今回の更新により、そのようなパイプラインおよびタスク仕様でのパイプライン実行は失敗しなくなりました。 -
この更新まで、クラスター管理者は、コンテナーレジストリーにアクセスするための
Buildahクラスタータスクにconfig.jsonファイルを提供できませんでした。今回の更新により、クラスター管理者は、dockerconfigワークスペースを使用して、Buildahクラスタータスクにconfig.jsonファイルを提供できるようになりました。
4.1.5.7. Red Hat OpenShift Pipelines General Availability (GA) 1.8.2 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.8.2 が OpenShift Container Platform 4.10、4.11、および 4.12 で利用できるようになりました。
4.1.5.7.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、SSH キーを使用してリポジトリーのクローンを作成すると、
git-cloneタスクが失敗していました。今回の更新により、git-initタスクでの root 以外のユーザーのロールが削除され、SSH プログラムは$HOME/.ssh/ディレクトリーで正しいキーを検索します。
4.1.6. Red Hat OpenShift Pipelines General Availability 1.7 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.7 が OpenShift Container Platform 4.9、4.10、および 4.11 で利用可能になりました。
4.1.6.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.7 の主な新機能について説明します。
4.1.6.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
今回の更新では、
pipelines-<version>が Red Hat OpenShift Pipelines Operator をインストールするためのデフォルトのチャネルです。たとえば、Pipelines Operator バージョン1.7をインストールするためのデフォルトのチャネルはpipelines-1.7です。クラスター管理者は、latestチャネルを使用して、Operator の最新の安定バージョンをインストールすることもできます。注記previewチャネルとstableチャネルは廃止され、将来のリリースで削除される予定です。ユーザー namespace でコマンドを実行すると、コンテナーは
root(ユーザー ID0) として実行されますが、ホストに対するユーザー特権があります。この更新では、ユーザー namespace で pod を実行するには、CRI-O が期待するアノテーションを渡す必要があります。-
すべてのユーザーにこれらのアノテーションを追加するには、
oc edit clustertask buildahコマンドを実行し、buildahクラスタータスクを編集します。 - 特定の namespace にアノテーションを追加するには、クラスタータスクをタスクとしてその namespace にエクスポートします。
-
すべてのユーザーにこれらのアノテーションを追加するには、
この更新の前は、特定の条件が満たされない場合、
when式はTaskオブジェクトとその依存タスクをスキップしていました。今回の更新により、when式のスコープを設定して、従属タスクではなく、Taskオブジェクトのみを保護できるようになりました。この更新を有効にするには、TektonConfigCRD でscope-when-expressions-to-taskフラグをtrueに設定します。注記scope-when-expressions-to-taskフラグは非推奨であり、将来のリリースで削除される予定です。パイプラインのベストプラクティスとして、保護されたTaskのみを対象とする式のwhenに使用します。-
この更新では、タスク内のワークスペースの
subPathフィールドで変数置換を使用できます。 今回の更新では、一重引用符または二重引用符を含む角かっこ表記を使用して、パラメーターと結果を参照できます。この更新以前は、ドット表記しか使用できませんでした。たとえば、次は同等になりました。
$(param.myparam)、$(param['myparam'])、および$(param["myparam"])。一重引用符または二重引用符を使用して、
"."などの問題のある文字を含むパラメーター名を囲むことができます。たとえば、$(param['my.param'])と$(param["my.param"])。
-
この更新により、
enable-api-fieldsフラグを有効にせずに、タスク定義にステップのonErrorパラメーターを含めることができます。
4.1.6.1.2. トリガー リンクのコピーリンクがクリップボードにコピーされました!
-
この更新により、
feature-flag-triggers設定マップに新しいフィールドlabels-exclusion-patternが追加されました。このフィールドの値を正規表現 (regex) パターンに設定できます。コントローラーは、正規表現パターンに一致するラベルを、イベントリスナーからイベントリスナー用に作成されたリソースへの伝播から除外します。 -
この更新により、
TriggerGroupsフィールドがEventListener仕様に追加されました。このフィールドを使用すると、トリガーのグループを選択して実行する前に実行するインターセプターのセットを指定できます。この機能を有効にするには、TektonConfigカスタムリソース定義のパイプラインセクションで、enable-api-fieldsフィールドをalphaに設定する必要があります。 -
この更新により、
Triggerリソースは、TriggerTemplateテンプレートによって定義されたカスタム実行をサポートします。 -
この更新により、トリガーは
EventListenerPod からの Kubernetes イベントの生成をサポートします。 -
この更新により、次のオブジェクトのカウントメトリックが使用可能になります:
ClusterInteceptor、EventListener、TriggerTemplate、ClusterTriggerBinding、およびTriggerBinding。 -
この更新により、
ServicePort仕様が Kubernetes リソースに追加されます。この仕様を使用して、イベントリスナーサービスを公開するポートを変更できます。デフォルトのポートは8080です。 -
この更新では、
EventListener仕様のtargetURIフィールドを使用して、トリガー処理中にクラウドイベントを送信できます。この機能を有効にするには、TektonConfigカスタムリソース定義のパイプラインセクションで、enable-api-fieldsフィールドをalphaに設定する必要があります。 -
この更新により、
tekton-triggers-eventlistener-rolesオブジェクトには、既存のcreate動詞に加えて、patch動詞が含まれるようになりました。 -
この更新により、
securityContext.runAsUserパラメーターがイベントリスナーのデプロイメントから削除されます。
4.1.6.1.3. CLI リンクのコピーリンクがクリップボードにコピーされました!
この更新では、
tkn [pipeline | pipelinerun] exportコマンドは、パイプラインまたはパイプライン実行を YAML ファイルとしてエクスポートします。以下に例を示します。openshift-pipelinesnamespace にtest_pipelineという名前のパイプラインをエクスポートします。tkn pipeline export test_pipeline -n openshift-pipelines
$ tkn pipeline export test_pipeline -n openshift-pipelinesCopy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-pipelinesnamespace にtest_pipeline_runという名前のパイプラインランをエクスポートします。tkn pipelinerun export test_pipeline_run -n openshift-pipelines
$ tkn pipelinerun export test_pipeline_run -n openshift-pipelinesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
この更新により、
--graceオプションがtkn pipelinerun cancelに追加されます。--graceオプションを使用して、パイプラインの実行を強制的に終了するのではなく、適切に終了します。この機能を有効にするには、TektonConfigカスタムリソース定義のパイプラインセクションで、enable-api-fieldsフィールドをalphaに設定する必要があります。 この更新により、Operator バージョンと Chains バージョンが
tkn versionコマンドの出力に追加されます。重要Tekton Chains はテクノロジープレビュー機能です。
-
この更新により、パイプラインの実行をキャンセルすると、
tkn pipelinerun describeコマンドはキャンセルされたすべてのタスクの実行を表示します。この修正以前は、1 つのタスク実行のみが表示されていました。 -
この更新により、
tkn [t | p | ct] startコマンドのスキップを--skip-optional-workspaceフラグで実行したときに、オプションのワークスペースの要求仕様を省略できるようになりました。インタラクティブモードで実行している場合はスキップすることもできます。 この更新では、
tkn chainsコマンドを使用して Tekton Chains を管理できます。--chains-namespaceオプションを使用し Tekton Chains をインストールする namespace を指定することもできます。重要Tekton Chains はテクノロジープレビュー機能です。
4.1.6.1.4. Operator リンクのコピーリンクがクリップボードにコピーされました!
この更新では、Red Hat OpenShift Pipelines Operator を使用して、Tekton Hub および Tekton Chains をインストールおよびデプロイできます。
重要Tekton Chains とクラスターへの Tekton Hub のデプロイメントは、テクノロジープレビュー機能です。
この更新により、アドオンオプションとして Pipelines as Code (PAC) を見つけて使用できるようになります。
重要Pipelines as Code は、テクノロジープレビュー機能です。
この更新により、
communityClusterTasksパラメーターをfalseに設定することにより、コミュニティークラスタータスクのインストールを無効にできるようになりました。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この更新では、
TektonConfigカスタムリソースのenable-devconsole-integrationフラグをfalseに設定することで、Tekton Hub と Developer パースペクティブの統合を無効にできます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
今回の更新により、
operator-config.yaml設定マップにより、tkn versionコマンドの出力で Operator バージョンを表示できるようになります。 -
この更新により、
argocd-task-sync-and-waitタスクのバージョンがv0.2に変更されます。 -
この
TektonConfigCRD の更新により、oc get tektonconfigコマンドは OPerator のバージョンを表示します。 - この更新により、サービスモニターがトリガーメトリックに追加されます。
4.1.6.1.5. ハブ リンクのコピーリンクがクリップボードにコピーされました!
Tekton Hub をクラスターにデプロイすることは、テクノロジープレビュー機能です。
Tekton Hub は、CI/CD ワークフローの再利用可能なタスクとパイプラインを検出、検索、および共有するのに役立ちます。Tekton Hub のパブリックインスタンスは、hub.tekton.dev で利用できます。
Red Hat OpenShift Pipelines 1.7 を確認しながら、クラスター管理者は Tekton Hub のカスタムインスタンスをエンタープライズクラスターにインストールしてデプロイすることもできます。組織に固有の再利用可能なタスクとパイプラインを使用してカタログをキュレートできます。
4.1.6.1.6. チェーン リンクのコピーリンクがクリップボードにコピーされました!
Tekton Chains はテクノロジープレビュー機能です。
Tekton Chains は、Kubernetes カスタムリソース定義 (CRD) コントローラーです。これを使用して、Red Hat OpenShift Pipelines を使用して作成されたタスクおよびパイプラインのサプライチェーンセキュリティーを管理できます。
デフォルトでは、Tekton Chains は OpenShift Container Platform クラスターで実行されるタスクをモニターします。Chains は、完了したタスク実行のスナップショットを取得し、それらを 1 つ以上の標準ペイロード形式に変換し、すべてのアーティファクトに署名して保存します。
Tekton Chains は、次の機能をサポートしています。
-
暗号化キータイプと
cosignなどのサービスを使用して、タスク実行、タスク実行結果、および OCI レジストリーイメージに署名できます。 -
in-totoなどの認証形式を使用できます。 - OCI リポジトリーをストレージバックエンドとして使用して、署名と署名されたアーティファクトを安全に保存できます。
4.1.6.1.7. Pipelines as Code (PAC) リンクのコピーリンクがクリップボードにコピーされました!
Pipelines as Code は、テクノロジープレビュー機能です。
Pipelines as Code を使用すると、クラスター管理者と必要な権限を持つユーザーは、パイプラインテンプレートをソースコード Git リポジトリーの一部として定義できます。設定された Git リポジトリーのソースコードプッシュまたはプルリクエストによってトリガーされると、この機能はパイプラインを実行し、ステータスを報告します。
Pipelines as Code は、次の機能をサポートしています。
- プルリクエストのステータス。プルリクエストを反復処理する場合、プルリクエストのステータスと制御は Git リポジトリーをホストしているプラットフォームで実行されます。
- GitHub は API をチェックして、再チェックを含むパイプライン実行のステータスを設定します。
- GitHub のプルリクエストとコミットイベント。
-
/retestなどのコメントでリクエストアクションをプルします。 - Git イベントのフィルタリング、およびイベントごとの個別のパイプライン。
- ローカルタスク、Tekton Hub、およびリモート URL のパイプラインでの自動タスク解決。
- 設定を取得するための GitHub blobs およびオブジェクト API の使用。
-
GitHub 組織を介して、または Prow スタイルの
OWNERファイルを使用したアクセス制御リスト (ACL)。 -
tknCLI ツール用のtkn pacプラグイン。これを使用して Pipelines as Code リポジトリーとブートストラップを管理できます。 - GitHub アプリケーション、GitHub Webhook、Bitbucket Server、および Bitbucket Cloud のサポート。
4.1.6.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
重大な変更: この更新により、
TektonConfigカスタムリソース (CR) からdisable-working-directory-overwriteおよびdisable-home-env-overwriteフィールドが削除されます。その結果、TektonConfigCR は$HOME環境変数とworkingDirパラメーターを自動的に設定しなくなりました。タスクカスタムリソース定義 (CRD) のenvおよびworkingDirフィールドを使用して、引き続き$HOME環境変数とworkingDirパラメーターを設定できます。
-
Conditionsカスタムリソース定義 (CRD) タイプは非推奨であり、将来のリリースで削除される予定です。代わりに、推奨されるWhen式を使用してください。
-
重大な変更:
EventListenerとTriggerBindingの値を指定しない場合、Triggersリソースはテンプレートを検証し、エラーを生成します。
4.1.6.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
Maven および Jib Maven クラスタータスクを実行する場合には、デフォルトのコンテナーイメージは Intel(x86) アーキテクチャーでのみサポートされます。したがって、タスクは ARM、IBM Power Systems (ppc64le)、IBM Z、および LinuxONE (s390x) クラスターで失敗します。回避策として、
MAVEN_IMAGEパラメーターの値をmaven:3.6.3-adoptopenjdk-11に設定すると、カスタムイメージを指定できます。ヒントtkn hubを使用して、ARM、IBM Power Systems (ppc64le)、IBM Z、および LinuxONE (s390x) に Tekton カタログに基づくタスクをインストールする前に、これらのプラットフォームでタスクを実行できるかどうかを確認してください。ppc64leおよびs390xがタスク情報の Platforms セクションに一覧表示されているかどうかを確認するには、tkn hub info task <name>コマンドを実行します。-
IBM Power Systems、IBM Z、および LinuxONE では、
s2i-dotnetクラスタータスクはサポートされません。 nodejs:14-ubi8-minimalイメージストリームを使用すると、以下のエラーが生成されるため、使用できません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
暗黙的なパラメーターマッピングは、最上位の
PipelineまたはPipelineRun定義からtaskRefタスクにパラメーターを誤って渡します。マッピングは、トップレベルのリソースからインラインtaskSpec仕様のタスクにのみ行う必要があります。この問題は、TektonConfigカスタムリソース定義のpipelineセクションでenable-api-fieldsフィールドをalphaに設定することにより、この機能が有効になっているクラスターにのみ影響します。
4.1.6.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新では、
labelsやannotationsなどのメタデータがPipelineオブジェクト定義とPipelineRunオブジェクト定義の両方に存在する場合、PipelineRunタイプの値が優先されます。TaskオブジェクトとTaskRunオブジェクトで同様の動作が見られます。 -
この更新では、
timeouts.tasksフィールドまたはtimeouts.finallyフィールドが0に設定されている場合、timeouts.pipelineも0に設定されます。 -
この更新により、シバンを使用しないスクリプトから
-xセットフラグが削除されました。この修正により、スクリプト実行による潜在的なデータ漏洩が減少します。 -
この更新により、Git クレデンシャルのユーザー名に存在するバックスラッシュ文字は、
.gitconfigファイルの追加のバックスラッシュでエスケープされます。
-
この更新により、
EventListenerオブジェクトのfinalizerプロパティーは、ロギングおよび設定マップのクリーンアップに必要なくなりました。 - この更新により、イベントリスナーサーバーに関連付けられているデフォルトの HTTP クライアントが削除され、カスタム HTTP クライアントが追加されます。その結果、タイムアウトが改善されました。
- この更新により、トリガークラスターのロールが所有者の参照で機能するようになりました。
- この更新では、複数のインターセプターが拡張機能を返す場合、イベントリスナーの競合状態は発生しません。
-
この更新により、
tkn pr deleteコマンドは、ignore-runningフラグで実行されているパイプラインを削除しません。
- この更新では、アドオンパラメーターを変更しても、Operator Pod は再起動し続けません。
-
この更新により、サブスクリプションおよび設定カスタムリソースで設定されていない場合、
tkn serveCLI Pod はインフラノードでスケジュールされます。 - この更新では、指定されたバージョンのクラスタータスクはアップグレード中に削除されません。
4.1.6.5. Red Hat OpenShift Pipelines General Availability 1.7.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.7.1 が OpenShift Container Platform 4.9、4.10、および 4.11 で利用可能になりました。
4.1.6.5.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、Red Hat OpenShift Pipelines Operator をアップグレードすると、Tekton Hub に関連付けられたデータベースのデータが削除され、新規データベースがインストールされていました。今回の更新により、Operator のアップグレードでデータが保存されるようになりました。
- 今回の更新以前は、クラスター管理者のみが OpenShift Container Platform コンソールでパイプラインメトリックにアクセスできていました。今回の更新により、他のクラスターロールを持つユーザーもパイプラインメトリックにアクセスできるようになりました。
-
今回の更新以前は、大量の終了メッセージを生成するタスクが含まれるパイプラインの場合、パイプラインの実行に失敗しました。Pod 内のすべてのコンテナーの終了メッセージの合計サイズは 12 KB を超えることができないために、パイプライン実行が失敗しました。今回の更新により、同じイメージを使用する
place-toolsおよびstep-init初期化コンテナーがマージされ、各タスクの Pod で実行されているコンテナーの数が減りました。このソリューションにより、タスクの Pod で実行されているコンテナーの数を最小限にすることにより、パイプライン実行に失敗する可能性を減らすことができます。ただし、終了メッセージの最大許容サイズの制限は削除されません。 -
今回の更新以前は、Tekton Hub Web コンソールからリソースの URL に直接アクセスしようとすると、Nginx
404エラーが発生しました。今回の更新で、Tekton Hub Web コンソールイメージは、Tekton Hub Web コンソールから直接リソースの URL にアクセスできるように修正されました。 - 今回の更新以前は、namespace ごとにリソースプルーナージョブがリソースのプルーニング用に別個のコンテナーを作成していました。今回の更新により、リソースプルーナージョブはすべての namespace のコマンドを 1 つのコンテナーのループとして実行するようになりました。
4.1.6.6. Red Hat OpenShift Pipelines General Availability 1.7.2 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.7.2 が OpenShift Container Platform 4.9、4.10、およびそれ以降のバージョンで利用可能になりました。
4.1.6.6.1. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
-
openshift-pipelinesnamespace の Tekton Chains のchains-config設定マップは、Red Hat OpenShift Pipelines Operator のアップグレード後に自動的にデフォルト値にリセットされます。現在、この問題に対する回避策はありません。
4.1.6.6.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、最初の引数として
initを使用し、その後に 2 つまたはそれ以上の引数を指定した場合、Pipeline 1.7.1 のタスクは失敗していました。今回の更新により、フラグが正しく解析され、タスクが正常に実行されるようになりました。 今回の更新以前は、無効なロールバインディングにより、OpenShift Container Platform 4.9 および 4.10 への Red Hat OpenShift Pipelines Operator のインストールは、以下のエラーメッセージと共に失敗していました。
error updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleReferror updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleRefCopy to Clipboard Copied! Toggle word wrap Toggle overflow 今回の更新により、Red Hat OpenShift Pipelines Operator は個別のロールバインディング namespace でインストールし、他の Operator のインストールとの競合を回避するようになりました。
今回の更新以前は、Operator をアップグレードすると、Tekton Chains の
signing-secretsシークレットキーがデフォルト値にリセットされていました。今回の更新により、カスタムシークレットキーは Operator のアップグレード後も永続するようになりました。注記Red Hat OpenShift Pipelines 1.7.2 へのアップグレードにより、キーがリセットされます。ただし、それ以降のリリースにアップグレードすると、キーは永続化される予定です。
今回の更新以前は、すべての S2I ビルドタスクが以下の様なエラーメッセージと共に失敗していました。
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 今回の更新により、
pipelines-sccセキュリティーコンテキスト制約 (SCC) は、BuildahおよびS2Iクラスタータスクに必要なSETFCAP機能と互換性が確保されています。その結果、BuildahおよびS2Iビルドタスクを正常に実行できます。さまざまな言語やフレームワークで書かれたアプリケーションに対して
BuildahクラスタータスクおよびS2Iビルドタスクを正常に実行するには、buildやpushなどの適切なstepsオブジェクトに以下のスニペットを追加します。securityContext: capabilities: add: ["SETFCAP"]securityContext: capabilities: add: ["SETFCAP"]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.6.7. Red Hat OpenShift Pipelines General Availability 1.7.3 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.7.3 が OpenShift Container Platform 4.9、4.10、および 4.11 で利用可能になりました。
4.1.6.7.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新前は、いずれかの namespace が
Terminating状態の場合、RBAC リソースの作成時に Operator が失敗していました。今回の更新により、Operator はTerminating状態の namespace を無視し、RBAC リソースを作成します。 -
以前は、Red Hat OpenShift Pipelines Operator をアップグレードすると
pipelineサービスアカウントが再作成され、サービスアカウントにリンクされたシークレットが失われていました。今回の更新でこの問題が修正されています。アップグレード中に、Operator はpipelineサービスアカウントを再作成しなくなりました。その結果、pipelineサービスアカウントにアタッチされたシークレットはアップグレード後も保持され、リソース (タスクとパイプライン) は引き続き正しく機能します。
4.1.7. Red Hat OpenShift Pipelines General Availability (GA) 1.6 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.6 が OpenShift Container Platform 4.9 で利用可能になりました。
4.1.7.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.6 の主な新機能について説明します。
-
今回の更新により
--output <string>を使用して、YAML または JSON 形式の文字列を返すようにパイプラインまたはタスクのstartコマンドを設定できるようになりました。ここでは、<string>はyamlまたはjsonに置き換えます。--outputオプションを指定しないと、startコマンドは人間による解読はしやすくなりますが、他のプログラムによる解析が難しいメッセージを返します。継続的インテグレーション (CI) 環境では、YAML または JSON 形式の文字列を返す機能は便利です。たとえば、リソースの作成後にyqまたはjqを使用して、リソースに関する YAML または JSON 形式のメッセージを解析し、showlogオプションを使用せずにそのリソースが終了するまで待機します。 -
今回の更新により、Podman の
auth.json認証ファイルを使用してレジストリーに対して認証できるようになりました。たとえば、tkn bundle pushを使用して、Docker CLI ではなく Podman を使用してリモートレジストリーにプッシュできます。 -
今回の更新により、
tkn [taskrun | pipelinerun] delete --allコマンドを使用すると、新規の--keep-since <minutes>オプションを使用して、指定した期間よりも後の実行を保持できます。たとえば、5 分未満の実行を維持するには、tkn [taskrun | pipelinerun] delete -all --keep-since 5を入力します。 -
今回の更新により、タスク実行またはパイプライン実行を削除する際に、
--parent-resourceと--keep-sinceオプションを同時に使用できるようになりました。たとえば、tkn pipelinerun delete --pipeline pipelinename --keep-since 5コマンドは、親リソースの名前がpipelinenameで、その経過時間が 5 分以下であるパイプラインの実行を保持します。tkn tr delete -t <taskname> --keep-since 5およびtkn tr delete --clustertask <taskname> --keep-since 5コマンドはタスク実行と同様に機能します。 -
今回の更新により、
v1beta1リソースと連携するトリガーリソースのサポートが追加されました。
-
今回の更新により、
ignore-runningオプションがtkn pipelinerun deleteおよびtkn taskrun deleteコマンドに追加されています。 -
今回の更新により、
createサブコマンドがtkn taskとtkn clustertaskコマンドに追加されました。 -
今回の更新により、
tkn pipelinerun delete --allコマンドを使用すると、新規の--label <string>オプションを使用して、ラベルでパイプライン実行をフィルターできるようになりました。オプションで、--labelオプションに=と==を等価演算子として、または!=を不等価演算子として指定して使用できます。たとえば、tkn pipelinerun delete --all --label asdfおよびtkn pipelinerun delete --all --label==asdfコマンドはどちらも、asdfラベルが割り当てられたすべてのパイプライン実行を削除します。 - 今回の更新では、設定マップからインストールされた Tekton コンポーネントのバージョンを取得するか、設定マップがない場合はデプロイメントコントローラーから取得できるようになりました。
-
今回の更新では、機能フラグを設定し、デフォルト値をそれぞれ設定するために
feature-flagsとconfig-defaults設定マップをサポートするようになりました。 -
今回の更新では、新しいメトリクス
eventlistener_event_countが追加され、EventListenerリソースが受信するイベントをカウントできるようになりました。 今回の更新では、
v1beta1Go API タイプが追加されました。今回の更新では、トリガーがv1beta1API バージョンをサポートするようになりました。現在のリリースでは、
v1alpha1機能が非推奨となり、今後のリリースで削除されます。代わりにv1beta1機能の使用を開始します。
現在のリリースでは、リソースの自動実行がデフォルトで有効になっています。さらに、以下の新規アノテーションを使用して、namespace ごとにタスク実行およびパイプライン実行を自動実行するように設定できます。
-
operator.tekton.dev/prune.schedule: このアノテーションの値がTektonConfigカスタムリソース定義で指定された値と異なる場合には、その namespace に新規の cron ジョブが作成されます。 -
operator.tekton.dev/prune.skip:trueに設定されている場合、設定先の namespace はプルーニングされません。 -
operator.tekton.dev/prune.resources: このアノテーションではリソースのコンマ区切りのリストを使用できます。パイプライン実行などの単一リソースをプルーニングするには、このアノテーションをpipelinerunに設定します。task run や pipeline run などの複数のリソースをプルーニングするには、このアノテーションを"taskrun, pipelinerun"に設定します。 -
operator.tekton.dev/prune.keep: このアノテーションを使用して、プルーニングなしでリソースを保持します。 operator.tekton.dev/prune.keep-since: このアノテーションを使用して、経過時間をもとにリソースを保持します。このアノテーションの値は、リソースの経過時間 (分単位) と等しくなければなりません。たとえば、6 日以上前に作成されたリソースを保持するには、keep-sinceを7200に設定します。注記keepおよびkeep-sinceアノテーションは同時に使用できません。リソースには、どちらか 1 つだけを使用する必要があります。-
operator.tekton.dev/prune.strategy: このアノテーションの値をkeepまたはkeep-sinceのいずれかに設定します。
-
-
管理者はクラスター全体に対する
pipelineサービスアカウントの作成を無効にし、紐付けされた SCC (anyuidと非常に似ている) の悪用による権限昇格を防ぎます。 -
TektonConfigカスタムリソース (CR) および、TektonPipelineとTektonTriggersなどの個々のコンポーネントの CR を使用して、機能フラグおよびコンポーネントを設定できるようになりました。この詳細レベルは、個々のコンポーネントの Tekton OCI バンドルなどのアルファ機能のカスタマイズおよびテストに役立ちます。 -
PipelineRunリソースのオプションのTimeoutsフィールドを設定できるようになりました。たとえば、パイプライン実行、各タスク実行、およびfinallyタスクに個別にタイムアウトを設定できます。 -
TaskRunリソースで生成される Pod を使用して、Pod のactiveDeadlineSecondsフィールドが設定されるようになりました。これにより、OpenShift はこの値を終了として考慮でき、Pod に具体的にスコープを指定したResourceQuotaオブジェクトを使用できます。 - configmaps を使用して、タスク実行、パイプライン実行、タスク、およびパイプラインのメトリックタグまたはラベルタイプを削除できます。さらに、ヒストグラム、ゲージ、最終値など、測定期間に、さまざまな種類のメトリックを設定できます。
-
Tekton は
Min、Max、DefaultおよびDefaultRequestフィールドを考慮してLimitRangeオブジェクトを完全にサポートするため、一貫性をもたせて Pod への要求および制限を定義できます。 以下のアルファ機能が導入されました。
パイプライン実行は、以前の動作のように、すべてのタスク実行を直接停止するのではなく、
finallyタスクの実行後に停止できるようになりました。今回の更新により、以下のspec.status値が追加されました。-
StoppedRunFinalは、完了後、現在実行中のタスクを停止し、finallyタスクを実行します。 -
CancelledRunは、実行中のタスクをすぐにキャンセルしてから、finallyタスクを実行します。 Cancelledは、PipelineRunCancelledステータスで提供される以前の動作を保持します。注記非推奨となった
PipelineRunCancelledステータスはv1バージョンで削除され、Cancelledステータスに置き換えられます。
-
-
oc debugコマンドを使用して、タスク実行をデバッグモードに配置できるようになりました。これにより、実行を一時停止し、Pod で特定の手順を検査できるようになりました。 -
ステップの
onErrorフィールドをcontinueに設定すると、ステップの終了コードが記録され、後続のステップに渡されます。ただし、タスク実行は失敗しないので、タスクの残りのステップの実行は継続されます。既存の動作を維持するには、onErrorフィールドの値をstopAndFailに設定します。 - タスクは、実際に使用されているよりも多くのパラメーターを受け入れるようになりました。アルファ機能フラグを有効にすると、パラメーターは暗黙的にインライン仕様に伝播できます。たとえば、インラインのタスクは、タスクの各パラメーターを明示的に定義せずに、親パイプライン実行のパラメーターにアクセスできます。
-
アルファ機能のフラグを有効にすると、
when式の条件が、直接関連付けられたタスクにのみ適用され、タスクに依存することはありません。When式を関連タスクとその依存に適用するには、式を依存タスクごとに個別に関連付ける必要があります。今後、これが Tekton の新規 API バージョンのWhen式のデフォルト動作になることに注意してください。今回の更新が優先され、既存のデフォルト動作は非推奨になりました。
現在のリリースでは、
nodeSelectorおよびtolerationsの値をTektonConfig カスタムリソース(CR) に指定することで、ノードの選択を設定できます。Operator はこれらの値を、作成するすべてのデプロイメントに追加します。-
Operator のコントローラーおよび Webhook デプロイメントのノード選択を設定するには、Operator のインストール後に
SubscriptionCR の仕様でconfig.nodeSelectorおよびconfig.tolerationsフィールドを編集します。 -
OpenShift Pipelines の残りのコントロールプレーン Pod をインフラストラクチャーノードにデプロイするには、
nodeSelectorおよびtolerationsフィールドでTektonConfigCR を更新します。その後、変更は Operator で作成されるすべての Pod に適用されます。
-
Operator のコントローラーおよび Webhook デプロイメントのノード選択を設定するには、Operator のインストール後に
4.1.7.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
CLI 0.21.0 では、
clustertask、task、taskrun、pipeline、およびpipelinerunコマンドに対するすべてのv1alpha1リソースのサポートが非推奨になりました。クラスターローダーが非推奨になり、今後のリリースで削除されます。
Tekton Triggers v0.16.0 では、重複する
statusラベルはEventListenerリソースのメトリックから削除されます。重要重大な変更:
statusラベルはeventlistener_http_duration_seconds_*メトリックから削除されました。statusラベルに基づくクエリーを削除します。-
現在のリリースでは、
v1alpha1機能が非推奨となり、今後のリリースで削除されます。代わりに、今回の更新では、v1beta1Go API タイプの使用を開始できるようになりました。トリガーがv1beta1API バージョンをサポートするようになりました。 現在のリリースでは、
EventListenerリソースはトリガーの終了処理前に応答を送信します。重要重大な変更: 今回の変更により、
EventListenerリソースがリソースの作成時に201 Createdステータスコードに応答しなくなります。代わりに202 Accepted応答コードで応答します。今回のリリースで、
podTemplateフィールドがEventListenerリソースから削除されます。重要重大な変更: #1100 の一部として非推奨となった
podTemplateフィールドが削除されました。今回のリリースで、非推奨の
replicasフィールドがEventListenerリソースの仕様から削除されます。重要重大な変更: 非推奨の
replicasフィールドが削除されました。
Red Hat OpenShift Pipelines 1.6 では、
HOME="/tekton/home"およびworkingDir="/workspace"の値がStepオブジェクトの仕様から削除されます。代わりに、Red Hat OpenShift Pipelines は、
Stepオブジェクトを実行するコンテナーで定義される値にHOMEおよびworkingDirを設定します。これらの値は、Stepオブジェクトの仕様で上書きできます。以前の動作を使用するには、
TektonConfigCR のdisable-working-directory-overwriteフィールドおよびdisable-home-env-overwriteフィールドをfalseに変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要TektonConfigCR のdisable-working-directory-overwriteとdisable-home-env-overwriteフィールドは非推奨となり、今後のリリースで削除されます。
4.1.7.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
-
Maven および Jib Maven クラスタータスクを実行する場合には、デフォルトのコンテナーイメージは Intel(x86) アーキテクチャーでのみサポートされます。したがって、IBM Power Systems(ppc64le)、IBM Z、および LinuxONE(s390x) クラスターではタスクに失敗します。回避策として、
MAVEN_IMAGEパラメーターの値をmaven:3.6.3-adoptopenjdk-11に設定すると、カスタムイメージを指定できます。 -
IBM Power Systems、IBM Z、および LinuxONE では、
s2i-dotnetクラスタータスクはサポートされません。 -
tkn hubを使用して IBM Power Systems(ppc64le)、IBM Z、および LinuxONE(s390x) の Tekton Catalog をもとにタスクをインストールする前に、タスクがこれらのプラットフォームで実行できるかどうかを確認します。ppc64leおよびs390xがタスク情報の Platforms セクションにリスト表示されているかどうかを確認するには、tkn hub info task <name>コマンドを実行します。 nodejs:14-ubi8-minimalイメージストリームを使用すると、以下のエラーが生成されるため、使用できません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.7.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
IBM Power Systems、IBM Z、および LinuxONE では、
tkn hubコマンドはサポート対象外になりました。
-
この更新以前は、ユーザーが
tknコマンドの実行後にターミナルを利用できず、再試行が指定された場合でもパイプライン実行が行われていました。タスク実行またはパイプライン実行のタイムアウトの指定には影響がありません。今回の更新で問題が修正され、コマンド実行後にターミナルが利用できるようになります。 -
今回の更新以前は、
tkn pipelinerun delete --allを実行すると、すべてのリソースが削除されました。今回の更新で、実行中の状態のリソースが削除されなくなりました。 -
今回の更新以前は、
tkn version --component=<component>コマンドを使用しても、コンポーネントのバージョンが返されませんでした。今回の更新でこの問題が修正され、このコマンドを使用すると、コンポーネントのバージョンを返すようになりました。 -
今回の更新以前は、
tkn pr logsコマンドを使用すると、パイプラインの出力ログでタスクの順番が間違って表示されていました。今回の更新で問題は解決され、完了したPipelineRunのログで、TaskRun実行順序を適切に表示するようになりました。
-
今回の更新以前は、実行中のパイプラインの仕様を編集すると、パイプライン実行が完了時に停止できなくなる可能性がありました。今回の更新では、定義を 1 度だけフェッチし、検証用にステータスに保存されている仕様を使用して問題を修正しています。今回の変更により、
PipelineRunまたはTaskRunが実行中のPipelineまたはTaskを参照する場合に競合状態に陥る確率が削減されます。 -
when式値に、[$(params.arrayParam[*])]などの配列パラメーター参照を指定できるようになりました。
4.1.7.5. Red Hat OpenShift Pipelines General Availability 1.6.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.7.5.1. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
古いバージョンから Red Hat OpenShift Pipelines 1.6.1 にアップグレードした後に、Pipeline は、Tekton リソース (タスクおよびパイプライン) で操作 (作成/削除/適用) を実行できない一貫性のない状態になる可能性があります。たとえば、リソースの削除中に、以下のエラーが発生する可能性があります。
Error from server (InternalError): Internal error occurred: failed calling webhook "validation.webhook.pipeline.tekton.dev": Post "https://tekton-pipelines-webhook.openshift-pipelines.svc:443/resource-validation?timeout=10s": service "tekton-pipelines-webhook" not found.
Error from server (InternalError): Internal error occurred: failed calling webhook "validation.webhook.pipeline.tekton.dev": Post "https://tekton-pipelines-webhook.openshift-pipelines.svc:443/resource-validation?timeout=10s": service "tekton-pipelines-webhook" not found.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.7.5.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines によって設定される
SSL_CERT_DIR環境変数 (/tekton-custom-certs) は、以下のデフォルトのシステムディレクトリーを証明書ファイルで上書きしません。-
/etc/pki/tls/certs -
/etc/ssl/certs -
/system/etc/security/cacerts
-
- Horizontal Pod Autoscaler は、Red Hat OpenShift Pipelines Operator によって制御されるデプロイメントのレプリカ数を管理できます。このリリース以降、エンドユーザーまたはクラスター上のエージェントによってカウントが変更された場合、Red Hat OpenShift Pipelines Operator はそれによって管理されるデプロイメントのレプリカカウントをリセットしません。ただし、Red Hat OpenShift Pipelines Operator のアップグレード時にレプリカはリセットされます。
-
tknCLI を提供する Pod は、ノードセレクターおよびTektonConfigカスタムリソースで指定される容認制限に基づいて、ノードにスケジュールされるようになりました。
4.1.7.6. Red Hat OpenShift Pipelines General Availability 1.6.2 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.7.6.1. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
-
新規プロジェクトの作成時に、
pipelineサービスアカウントの作成が遅延し、既存のクラスタータスクおよびパイプラインテンプレートの削除に 10 分以上かかります。
4.1.7.6.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、古いバージョンから Red Hat OpenShift Pipelines 1.6.1 にアップグレードした後に、Tekton インストーラーセットの複数のインスタンスがパイプライン用に作成されました。今回の更新では、Operator により、アップグレード後に
TektonInstallerSetの各タイプのインスタンスが 1 つだけ存在するようになりました。 - 今回の更新以前は、Operator のすべてのリコンサイラーはコンポーネントバージョンを使用して、古いバージョンから Red Hat OpenShift Pipelines 1.6.1 へのアップグレード時にリソース再作成を決定していました。その結果、アップグレード時にコンポーネントのバージョンが変更されなかったリソースは再作成されませんでした。今回の更新により、Operator はコンポーネントのバージョンではなく Operator バージョンを使用して、アップグレード時にリソースの再作成を決定するようになりました。
- この更新の前は、アップグレード後にパイプライン Webhook サービスがクラスターにありませんでした。これは、設定マップのアップグレードのデッドロックが原因でした。今回の更新により、設定マップがクラスターにない場合に Webhook 検証を無効にするメカニズムが追加されました。その結果、パイプライン Webhook サービスはアップグレード後もクラスターで永続化します。
- 今回の更新以前は、namespace への設定変更後に自動プルーニングの cron ジョブは再作成されていました。今回の更新により、namespace に関連するアノテーションが変更された場合のみ、自動プルーニングの Cron ジョブは再作成されるようになりました。
Tekton Pipelines のアップストリームバージョンは
v0.28.3に改訂され、以下の修正が加えられました。-
PipelineRunまたはTaskRunオブジェクトを修正し、ラベルまたはアノテーションの伝搬を許可します。 暗黙的なパラメーターの場合:
-
PipelineSpecパラメーターをTaskRefsオブジェクトに適用しないでください。 -
Pipelineオブジェクトの暗黙的なパラメーター動作を無効にします。
-
-
4.1.7.7. Red Hat OpenShift Pipelines General Availability 1.6.3 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.7.7.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
今回の更新以前は、Red Hat OpenShift Pipelines Operator は Pipeline および Trigger などのコンポーネントから Pod セキュリティーポリシーをインストールしていました。ただし、コンポーネントの一部として同梱される Pod セキュリティーポリシーは、以前のリリースで非推奨となりました。今回の更新により、Operator はコンポーネントから Pod セキュリティーポリシーをインストールするのを止めました。その結果、以下のアップグレードパスが影響を受けます。
- Pipelines 1.6.1 または 1.6.2 から Pipelines 1.6.3 にアップグレードすると、Pipelines および Triggers コンポーネントからのものを含め Pod セキュリティーポリシーが削除されます。
Pipelines 1.5.x から 1.6.3 へのアップグレードでは、コンポーネントからインストールされる Pod セキュリティーポリシーは保持されます。クラスター管理者は、それらを手動で削除できます。
注記今後のリリースにアップグレードすると、Red Hat OpenShift Pipelines Operator は古くなったすべての Pod セキュリティーポリシーを自動的に削除します。
- 今回の更新以前は、クラスター管理者のみが OpenShift Container Platform コンソールでパイプラインメトリックにアクセスできていました。今回の更新により、他のクラスターロールを持つユーザーもパイプラインメトリックにアクセスできるようになりました。
- 今回の更新以前は、Pipelines Operator でのロールベースアクセス制御 (RBAC) の問題により、コンポーネントのアップグレードまたはインストールに問題が生じていました。今回の更新により、各種の Red Hat OpenShift Pipelines コンポーネントをインストールする際の信頼性および一貫性が向上しました。
-
今回の更新以前は、
TektonConfigCR でclusterTasksおよびpipelineTemplatesフィールドをfalseに設定すると、クラスタータスクおよびパイプラインテンプレートの削除が遅くなりました。この更新により、クラスタータスクやパイプラインテンプレートなどの Tekton リソースのライフサイクル管理の速度が改善されました。
4.1.7.8. Red Hat OpenShift Pipelines General Availability (GA) 1.6.4 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.7.8.1. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines 1.5.2 から 1.6.4 にアップグレードした後、イベントリスナールートにアクセスすると
503エラーが返されます。回避策: YAML ファイルで、イベントリスナーのルートのターゲットポートを変更します。
関連する namespace のルート名を抽出します。
oc get route -n <namespace>
$ oc get route -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルートを編集して、
targetPortフィールドの値を変更します。oc edit route -n <namespace> <el-route_name>
$ oc edit route -n <namespace> <el-route_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例: 既存のイベントリスナールート
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例: 変更されたイベントリスナールート
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.7.8.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新前は、いずれかの namespace が
Terminating状態の場合、RBAC リソースの作成時に Operator が失敗していました。今回の更新により、Operator はTerminating状態の namespace を無視し、RBAC リソースを作成します。 - この更新の前は、関連する Tekton コントローラーのリリースバージョンを指定するアノテーションがないため、タスクの実行が失敗するか、再起動されました。今回の更新により、適切な注釈の組み込みが自動化され、タスクは失敗や再起動なしで実行されます。
4.1.8. Red Hat OpenShift Pipelines General Availability (GA) 1.5 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.5 が OpenShift Container Platform 4.8 で利用可能になりました。
4.1.8.1. 互換性およびサポート表 リンクのコピーリンクがクリップボードにコピーされました!
現在、今回のリリースに含まれる機能には テクノロジープレビュー のものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。
以下の表では、機能は以下のステータスでマークされています。
| TP | テクノロジープレビュー |
| GA | 一般公開 (GA) |
これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。
| 機能 | バージョン | サポートステータス |
|---|---|---|
| Pipelines | 0.24 | GA |
| CLI | 0.19 | GA |
| カタログ | 0.24 | GA |
| トリガー | 0.14 | TP |
| パイプラインリソース | - | TP |
質問やフィードバックについては、製品チームに pipelines-interest@redhat.com 宛のメールを送信してください。
4.1.8.2. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.5 の主な新機能について説明します。
パイプライン実行およびタスク実行は、ターゲット namespace の cron ジョブによって自動的にプルーニングされます。cron ジョブは
IMAGE_JOB_PRUNER_TKN環境変数の値を使用してtkn imageの値を取得します。今回の機能拡張により、以下のフィールドがTektonConfigカスタムリソースに導入されるようになりました。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform で、Tekton Add-ons コンポーネントのインストールをカスタマイズするには、
TektonConigカスタムリソースの新規パラメーターclusterTasksおよびpipelinesTemplatesの値を変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタマイズは、
TektonConfigを使用してアドオンを作成するか、Tekton Add-ons を使用して直接アドオンを作成する場合に許可されます。ただし、パラメーターが渡されない場合、コントローラーはデフォルト値でパラメーターを追加します。注記-
アドオンが
TektonConfigカスタムリソースを使用して作成され、Addonカスタムリソースでパラメーター値を変更すると、TektonConfigカスタムリソースの値が変更を上書きします。 -
pipelinesTemplatesパラメーターの値は、clusterTasksパラメーターの値がtrueの場合のみtrueに設定できます。
-
アドオンが
enableMetricsパラメーターがTektonConfigカスタムリソースに追加されます。これを使用して、OpenShift Container Platform の Tekton Pipeline の一部であるサービスモニターを無効にすることができます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - プロセスレベルでメトリックをキャプチャーする EventListener OpenCensus メトリックが追加されました。
- トリガーにはラベルセレクターが追加され、ラベルを使用してイベントリスナーのトリガーを設定できるようになりました。
インターセプターを登録する
ClusterInterceptorカスタムリソース定義が追加され、プラグインできる新しいInterceptorタイプを登録できるようになりました。さらに、以下の関連する変更が行われます。-
トリガー仕様では、
refフィールドが含まれる新しい API を使用してインターセプターを設定し、クラスターインターセプターを参照できます。さらに、paramsフィールドを使用して、処理用のインターセプターに渡すパラメーターを追加することができます。 -
バンドルされたインターセプター CEL、GitHub、GitLab、および BitBucket が移行されました。新しい
ClusterInterceptorカスタムリソース定義を使用して実装されます。 -
コアインターセプターは新しい形式に移行され、古い構文を使用して作成された新しいトリガーは自動的に新しい
refまたはparamsベースの構文に切り替わります。
-
トリガー仕様では、
-
ログの表示中にタスクまたはステップの名前の接頭辞を無効にするには、
logコマンドに--prefixオプションを使用します。 -
特定のコンポーネントのバージョンを表示するには、
tkn versionコマンドで新しい--componentフラグを使用します。 -
tkn hub check-upgradeコマンドが追加され、他のコマンドはパイプラインのバージョンに基づいて変更されます。さらに、カタログ名はsearchコマンドの出力に表示されます。 -
任意のワークスペースのサポートは
startコマンドに追加されます。 -
プラグインが
pluginsディレクトリーに存在しない場合は、現在のパスで検索されます。 tkn start [task | clustertask | pipeline]コマンドは、対話的に開始し、デフォルトパラメーターが指定されている場合でもparams値の入力を求めます。対話式プロンプトを停止するには、コマンドの呼び出し時に--use-param-defaultsフラグを渡します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
versionフィールドはtkn task describeコマンドに追加されます。 -
TriggerTemplate、TriggerBinding、ClusterTriggerBinding、Eventlistenerなどのリソースを自動的に選択するオプションのいずれか 1 つが存在する場合は、describeコマンドに追加されます。 -
tkn pr describeコマンドでは、省略されたタスクのセクションが追加されます。 -
tkn clustertask logsのサポートが追加されました。 -
config.yamlからの YAML マージおよび変数は削除されます。さらに、release.yamlファイルは、kustomizeやyttなどのツールでより簡単に消費されるようになりました。 - ドット文字 (".") を含むリソース名のサポートが追加されました。
-
PodTemplate仕様のhostAliases配列が、ホスト名解決の Pod レベルの上書きに追加されます。これには、/etc/hostsファイルを変更します。 -
タスクのアグリゲート実行ステータスにアクセスするために、変数
$(tasks.status)が導入されました。 - Windows のエントリーポイントバイナリービルドが追加されます。
4.1.8.3. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
when式では、PascalCase で記述されたフィールドのサポートが削除されます。when式は、小文字で記述されたフィールドのみをサポートします。注記Tekton Pipelines
v0.16(Operatorv1.2.x) のwhen式のあるパイプラインを適用している場合は、これを再度適用する必要があります。Red Hat OpenShift Pipelines Operator を
v1.5にアップグレードする場合、openshift-clientおよびopenshift-client-v-1-5-0クラスタータスクにはSCRIPTパラメーターがあります。ただし、ARGSパラメーターおよびgitリソースはopenshift-clientクラスタータスクの仕様から削除されます。これは重大な変更であり、ClusterTaskリソースのnameフィールドに特定のバージョンのないクラスタータスクがシームレスにアップグレードされます。パイプラインの実行が中断しないようにするには、アップグレード後に
SCRIPTパラメーターを使用します。これは、ARGSパラメーターで以前に指定された値がクラスタータスクのSCRIPTパラメーターに移動するためです。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Pipelines Operator
v1.4からv1.5にアップグレードする場合は、TektonConfigカスタムリソースがインストールされるプロファイル名が変更になりました。Expand 表4.3 TektonConfig カスタムリソースのプロファイル Pipelines 1.5 のプロファイル Pipelines 1.4 の対応するプロファイル インストールされた Tekton コンポーネント すべて (デフォルトプロファイル)
すべて (デフォルトプロファイル)
Pipelines、Triggers、Add-ons
Basic
デフォルト
Pipeline、Triggers
Lite
Basic
Pipelines
注記TektonConfigカスタムリソースのconfigインスタンスでprofile: allを使用した場合は、リソース仕様を変更する必要はありません。ただし、インストールされた Operator がアップグレード前に Default または Basic プロファイルのいずれかにある場合は、アップグレード後に
TektonConfigカスタムリソースのconfigインスタンスを編集する必要があります。たとえば、アップグレードの前に設定がprofile: basicの場合は、Pipeline 1.5 へのアップグレード後にこれがprofile: liteであることを確認します。disable-home-env-overwriteフィールドおよびdisable-working-dir-overwriteフィールドは非推奨となり、今後のリリースで削除されます。本リリースでは、後方互換性のために、これらのフラグのデフォルト値がtrueに設定されます。注記次回のリリース (Red Hat OpenShift Pipelines 1.6) では、
HOME環境変数は自動的に/tekton/homeに設定されず、デフォルトの作業ディレクトリーはタスク実行の/workspaceに設定されていません。これらのデフォルトは、この手順のイメージの Dockerfile で設定されているすべての値と競合します。-
ServiceTypeフィールドおよびpodTemplateフィールドはEventListener仕様から削除されます。 - コントローラーサービスアカウントは、namespace のリスト表示および監視に対してクラスター全体のパーミッションを要求しなくなりました。
EventListenerリソースのステータスには、Readyという新規条件があります。注記今後、
EventListenerリソースの他のステータス条件は非推奨となり、Readyステータス条件が優先されます。-
EventListener応答のeventListenerフィールドおよびnamespaceフィールドは非推奨になりました。代わりにeventListenerUIDフィールドを使用してください。 replicasフィールドはEventListener仕様から非推奨になります。その代わりに、spec.replicasフィールドはKubernetesResource仕様のspec.resources.kubernetesResource.replicasに移動されます。注記replicasフィールドは今後のリリースで削除されます。-
コアインターセプターの設定における古い方法は非推奨になりました。ただし、今後のリリースで削除されるまでこれらの作業は継続されます。代わりに、
Triggerリソースのインターセプターが新しいrefおよびparamsベースの構文を使用して設定されるようになりました。作成されるデフォルトの Webhook は、新規トリガーの古い構文の使用を新規構文に自動的に切り替えます。 -
ClusterRoleBindingリソースに非推奨のrbac.authorization.k8s.io/v1beta1ではなくrbac.authorization.k8s.io/v1を使用します。 -
クラスターロールでは、
serviceaccounts、secrets、configmaps、limitrangesなどのリソースへのクラスター全体の書き込みアクセスが削除されます。さらに、deployments、statefulsets、deployment/finalizersなどのリソースにクラスター全体のアクセスが削除されます。 -
caching.internal.knative.devグループのimageカスタムリソース定義は Tekton により使用されず、本リリースで除外されます。
4.1.8.4. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
git-cli クラスタータスクは、alpine/git ベースイメージから構築されます。これは、
/rootがユーザーのホームディレクトリーであると想定します。ただし、これはgit-cliクラスタータスクに明示的に設定されません。Tekton では、特に指定がない場合は、デフォルトのホームディレクトリーはタスクのすべての手順で
/tekton/homeで上書きされます。ベースイメージの$HOME環境変数を上書きすると、git-cliクラスタータスクが失敗します。この問題は、今後のリリースで修正される予定です。Red Hat OpenShift Pipelines 1.5 以前のバージョンでは、以下の回避策のいずれかを使用 して、
git-cliクラスタータスクの失敗を防ぐことができます。この手順で
$HOME環境変数を設定します。これにより、上書きされないようにします。-
[オプション] Operator を使用して Red Hat OpenShift Pipeline をインストールしている場合は、
git-cliクラスタータスクを別のタスクにクローンします。このアプローチにより、Operator はクラスタータスクに加えられた変更を上書きしないようにします。 -
oc edit clustertasks git-cliコマンドを実行します。 予想される
HOME環境変数をステップの YAML に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告オペレーターがインストールした Red Hat OpenShift Pipelines の場合、
HOME環境変数を変更する前にgit-cliクラスタータスクを別のタスクに複製しないと、Operator の調整中に変更が上書きされます。
-
[オプション] Operator を使用して Red Hat OpenShift Pipeline をインストールしている場合は、
feature-flags設定マップでHOME環境変数の上書きを無効にします。-
oc edit -n openshift-pipelines configmap feature-flagsコマンドを実行します。 disable-home-env-overwriteフラグの値をtrueに設定します。警告- Operator を使用して Red Hat OpenShift Pipelines をインストールしている場合、変更は Operator の調整時に上書きされます。
-
disable-home-env-overwriteフラグのデフォルト値を変更すると、すべてのタスクのデフォルトの動作を変更するため、他のタスクやクラスタータスクが破損する可能性があります。
-
パイプラインのデフォルトサービスアカウントが使用される場合に
HOME環境変数の上書きを行うため、git-cliクラスタータスクに別のサービスアカウントを使用します。- 新規のサービスアカウントを作成します。
- 作成したサービスアカウントに Git シークレットをリンクします。
- タスクまたはパイプラインの実行中にサービスアカウントを使用します。
-
IBM Power Systems、IBM Z、および LinuxONE では、
s2i-dotnetクラスタータスクとtkn hubコマンドはサポートされません。 -
Maven および Jib Maven クラスタータスクを実行する場合には、デフォルトのコンテナーイメージは Intel(x86) アーキテクチャーでのみサポートされます。したがって、IBM Power Systems(ppc64le)、IBM Z、および LinuxONE(s390x) クラスターではタスクに失敗します。回避策として、
MAVEN_IMAGEパラメーターの値をmaven:3.6.3-adoptopenjdk-11に設定すると、カスタムイメージを指定できます。
4.1.8.5. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
dagタスクのwhen式は、他のタスクの実行ステータス ($(tasks.<pipelineTask>.status)) にアクセスするコンテキスト変数を指定できません。 -
PipelineRunリソースがすぐに削除されてから再作成される状況で、volumeClaimTemplatePVC を削除することにより作成される競合状態を回避するのに役立つため、所有者名の代わりに所有者 UID を使用します。 -
root 以外のユーザーによってトリガーされる
build-baseイメージのpullrequest-initに新しい Dockerfile が追加されます。 -
パイプラインまたはタスクが
-fオプションで実行され、その定義のparamにtypeが定義されていない場合は、パイプラインまたはタスク実行が失敗する代わりに検証エラーが生成されます。 -
tkn start [task | pipeline | clustertask]コマンドの場合は、--workspaceフラグの説明に一貫性が保たれました。 - パラメーターを解析する際に、空の配列が発生すると、対応する対話的なヘルプが空の文字列として表示されるようになりました。
4.1.9. Red Hat OpenShift Pipelines General Availability (GA) 1.4 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.4 が OpenShift Container Platform 4.7 で利用可能になりました。
stable および preview Operator チャネルのほかに、Red Hat OpenShift Pipelines Operator 1.4.0 には ocp-4.6、ocp-4.5、および ocp-4.4 の非推奨チャネルが同梱されます。これらの非推奨チャネルおよびそれらのサポートは、Red Hat OpenShift Pipelines の以下のリリースで削除されます。
4.1.9.1. 互換性およびサポート表 リンクのコピーリンクがクリップボードにコピーされました!
現在、今回のリリースに含まれる機能には テクノロジープレビュー のものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。
以下の表では、機能は以下のステータスでマークされています。
| TP | テクノロジープレビュー |
| GA | 一般公開 (GA) |
これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。
| 機能 | バージョン | サポートステータス |
|---|---|---|
| Pipelines | 0.22 | GA |
| CLI | 0.17 | GA |
| カタログ | 0.22 | GA |
| トリガー | 0.12 | TP |
| パイプラインリソース | - | TP |
質問やフィードバックについては、製品チームに pipelines-interest@redhat.com 宛のメールを送信してください。
4.1.9.2. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションでは、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.4 の主な新機能について説明します。
カスタムタスクには、以下の機能強化が含まれます。
- パイプラインの結果として、カスタムタスクで生成される結果を参照できるようになりました。
- カスタムタスクはワークスペース、サービスアカウント、および Pod テンプレートを使用して、より複雑なカスタムタスクをビルドできるようになりました。
finallyタスクには、以下の機能強化が含まれます。-
when式は最後のタスクでサポートされます。これにより、効率的に保護された実行が可能になり、タスクの再利用性が向上します。 finallyタスクは、同じパイプライン内のタスクの結果を使用するように設定できます。注記when式およびfinallyタスクのサポートは OpenShift Container Platform 4.7 Web コンソールでは利用できません。
-
-
dockercfgまたはdockerconfigjsonタイプの複数のシークレットのサポートがランタイム時に認証用に追加されました。 -
git-cloneタスクでスパースチェックをサポートする機能が追加されました。これにより、ローカルコピーとしてリポジトリーのサブセットのみをクローンすることができ、これはクローン作成したリポジトリーのサイズを制限するのに便利です。 - 実際に起動せずに、パイプライン実行を保留中の状態で作成できます。負荷が大きいクラスターでは、これにより、Operator はパイプライン実行の開始時間を制御することができます。
-
コントローラー用に
SYSTEM_NAMESPACE環境変数を手動で設定していることを確認します。これは以前はデフォルトで設定されていました。 -
root 以外のユーザーがパイプラインのビルドベースイメージに追加され、
git-initがリポジトリーのクローンを root 以外のユーザーとして作成できるようになりました。 - パイプライン実行の開始前に解決されたリソース間で依存関係を検証するサポートが追加されています。パイプラインのすべての結果変数は有効でなければならず、パイプラインからのオプションのワークスペースは、パイプライン実行の開始に使用することが予想されているタスクにのみ渡すことができます。
- コントローラーおよび Webhook は root 以外のグループとして実行され、それらの必要以上の機能は削除され、よりセキュアになりました。
-
tkn pr logsコマンドを使用して、再試行されたタスク実行のログストリームを表示できます。 -
tkn tr deleteコマンドで--clustertaskオプションを使用して、特定のクラスタータスクに関連付けられたすべてのタスク実行を削除できます。 -
EventListenerリソースでの Knative サービスのサポートは、新規のcustomResourceフィールドを導入して追加されます。 - イベントペイロードが JSON 形式を使用しない場合にエラーメッセージが表示されます。
-
GitLab、BitBucket、GitHub などのソース制御インターセプターは、新規の
InterceptorRequestまたはInterceptorResponseを使用できるようになりました。 -
新しい CEL 関数の
marshalJSONが実装され、JSON オブジェクトまたは配列を文字列にエンコードできます。 -
CEL およびソース制御コアインターセプターを提供する HTTP ハンドラーが追加されました。これは、
tekton-pipelinesnamespace にデプロイされる単一の HTTP サーバーに 4 つのコアインターセプターをパッケージ化します。EventListenerオブジェクトは、HTTP サーバー経由でイベントをインターセプターに転送します。それぞれのインターセプターは異なるパスで利用できます。たとえば、CEL インターセプターは/celパスで利用できます。 pipelines-sccSCC (Security Context Constraint) は、パイプラインのデフォルトpipelineサービスアカウントで使用されます。この新規サービスアカウントはanyuidと似ていますが、OpenShift Container Platform 4.7 の SCC について YAML に定義されるように若干の違いがあります。fsGroup: type: MustRunAs
fsGroup: type: MustRunAsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.9.3. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
パイプラインリソースストレージの
build-gcsサブタイプ、およびgcs-fetcherイメージは、サポートされていません。 -
クラスタータスクの
taskRunフィールドで、tekton.dev/taskラベルが削除されます。 -
Webhook の場合、フィールド
admissionReviewVersionsに対応する値v1beta1は削除されます。 -
ビルドおよびデプロイ用の
creds-initヘルパーイメージが削除されます。 トリガー仕様およびバインディングでは、
template.refが優先されるため、非推奨フィールドのtemplate.nameが削除されます。refフィールドを使用するには、eventListenerのすべての定義を更新する必要があります。注記template.nameフィールドが利用できないため、Pipelines 1.3.x 以前のバージョンから Pipelines 1.4.0 へのアップグレードにより、イベントリスナーが破損します。このような場合には、Pipelines 1.4.1 を使用して、復元されたtemplate.nameフィールドを利用します。-
EventListenerカスタムリソース/オブジェクトの場合、Resourceが優先されるために、PodTemplateおよびServiceTypeフィールドは非推奨になりました。 - 非推奨の仕様スタイルの埋め込みバインディングは削除されています。
-
specフィールドはtriggerSpecBindingから削除されています。 - イベント ID 表現は、5 文字のランダムな文字列から UUID に変更されています。
4.1.9.4. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
- Developer パースペクティブでは、Pipeline メトリックおよびトリガー機能は OpenShift Container Platform 4.7.6 以降のバージョンでのみ利用できます。
-
IBM Power Systems、IBM Z、および LinuxONE では、
tkn hubコマンドはサポートされません。 -
IBM Power Systems (ppc64le)、IBM Z、および LinuxONE (s390x) クラスターで Maven および Jib Maven クラスタータスクを実行する場合、
MAVEN_IMAGEパラメーターの値をmaven:3.6.3-adoptopenjdk-11に設定します。 トリガーは、トリガーバインディングに以下の設定がある場合は、JSON 形式の正しくない処理によって生じるエラーを出力します。
params: - name: github_json value: $(body)params: - name: github_json value: $(body)Copy to Clipboard Copied! Toggle word wrap Toggle overflow この問題を解決するには、以下を実行します。
-
トリガー v0.11.0 以降を使用している場合、
marshalJSON関数を使用して JSON オブジェクトまたは配列を取得し、そのオブジェクトまたは配列の JSON エンコーディングを文字列として返します。 古いバージョンのトリガーを使用している場合は、以下のアノテーションをトリガーテンプレートに追加します。
annotations: triggers.tekton.dev/old-escape-quotes: "true"
annotations: triggers.tekton.dev/old-escape-quotes: "true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
トリガー v0.11.0 以降を使用している場合、
- Pipelines 1.3.x から 1.4.x にアップグレードする際に、ルートを再作成する必要があります。
4.1.9.5. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
以前のバージョンでは、
tekton.dev/taskラベルがクラスタータスクのタスク実行から削除され、tekton.dev/clusterTask ラベルが導入されました。この変更により生じる問題は、clustertask describeおよびdeleteコマンドを修正して解決されています。さらに、タスクのlastrun機能は変更され、古いバージョンのパイプラインでタスクとクラスタータスクの両方のタスク実行に適用されるtekton.dev/taskラベルの問題を修正できるになりました。 -
対話的な
tkn pipeline start pipelinenameを実行する場合、PipelineResourceが対話的に作成されます。tkn p startコマンドは、リソースのステータスがnilではない場合にリソースのステータスを出力します。 -
以前のバージョンでは、
tekton.dev/task=nameラベルは、クラスタータスクから作成されるタスク実行から削除されました。今回の修正により、--lastフラグの指定されるtkn clustertask startコマンドが変更され、作成されたタスク実行でtekton.dev/task=nameラベルの有無がチェックされるようになりました。 -
タスクがインラインのタスク仕様を使用する場合、対応するタスク実行は
tkn pipeline describeコマンドの実行時にパイプラインに組み込まれ、タスク名は埋め込まれた状態で返されます。 -
tkn versionコマンドは、設定されたkubeConfiguration namespaceやクラスターへのアクセスなしに、インストールされた Tekton CLI ツールのバージョンを表示するように修正されています。 -
引数が予期せずに使用されるか、複数の引数が使用される場合、
tkn completionコマンドでエラーが発生します。 -
以前のバージョンでは、パイプライン仕様でネスト化された
finallyタスクのあるパイプライン実行は、v1alpha1バージョンに変換され、v1beta1バージョンに戻されると、それらのfinallyタスクを失うことがあります。変換中に発生するこのエラーは修正され、潜在的データ損失を防ぐことができます。finallyタスクがパイプライン仕様でネスト化されたパイプライン実行はシリアライズされ、アルファバージョンに保存されてデシリアライズは後に実行されるようになりました。 -
以前のバージョンでは、サービスアカウントで
secretsフィールドに{}があると、Pod の生成でエラーが発生しました。空のシークレット名を持つ GET 要求がエラーがリソース名が空ではないことを示すエラーを返すため、タスク実行はCouldntGetTaskで失敗しました。この問題は、kubeclientGET 要求で空のシークレット名を使用しないことで解決されています。 -
v1beta1API バージョンのあるパイプラインは、finallyタスクを失うことなく、v1alpha1バージョンと共に要求できるようになりました。返されるv1alpha1バージョンを適用すると、リソースがv1beta1として保存され、finallyセクションがその元の状態に戻ります。 -
以前のバージョンでは、コントローラーの
selfLinkフィールドが設定されていないと、Kubernetes v1.20 クラスターでエラーが発生しました。一時的な修正として、CloudEventソースフィールドは、自動設定されるselfLinkフィールドの値なしに現在のソース URI に一致する値に設定されます。 -
以前のバージョンでは、
gcr.ioなどのドットの付いたシークレット名により、タスク実行の作成が失敗しました。これは、シークレット名がボリュームマウント名の一部として内部で使用されるために生じました。ボリュームマウント名は RFC1123 DNS ラベルに準拠し、名前の一部として使用されるドットを許可しません。この問題は、ドットをダッシュに置き換えることで解決し、これにより名前の読み取りが可能になりました。 -
コンテキスト変数は、
finallyタスクで検証されるようになりました。 -
以前のバージョンでは、タスク実行リコンサイラーが渡され、作成した Pod の名前を含む直前のステータス更新を持たないタスク実行があると、タスク実行リコンサイラーはタスク実行に関連付けられた Pod をリスト表示しました。タスク実行リコンサイラーは、Pod を検索するために、Pod に伝播されるタスク実行のラベルを使用しました。タスク実行の実行中にこれらのラベルを変更すると、コードが既存の Pod を見つけることができませんでした。その結果、重複した Pod が作成されました。この問題は、Pod の検索時に
tekton.dev/taskRunの Tekton で制御されるラベルのみを使用するようにタスク実行リコンサイラーを変更することで修正されています。 - 以前のバージョンでは、パイプラインがオプションのワークスペースを受け入れ、これをパイプラインタスクに渡すと、パイプライン実行リコンサイラーは、ワークスペースが提供されておらず、欠落しているワークスペースのバインディングがオプションのワークスペースについて有効な場合でも、エラーを出して停止しました。この問題は、オプションのワークスペースが指定されていない場合でも、パイプライン実行リコンサイラーがタスク実行の作成に失敗しないようにすることで修正されています。
- ステップのステータスの並び順は、ステップコンテナーの順序と一致します。
-
以前のバージョンでは、Pod で
CreateContainerConfigErrorの理由が出されると、タスク実行のステータスはunknownに設定されました。これは、タスクおよびパイプラインが Pod がタイムアウトするまで実行されることを意味しました。この問題は、Pod でCreateContainerConfigErrorの理由が出される際にタスクを失敗 (failed) として設定できるようにタスク実行ステータスをfalseに設定することで解決されています。 -
以前のバージョンでは、パイプライン実行の完了後に、パイプラインの結果は最初の調整で解決されました。これにより解決が失敗し、パイプライン実行の
Succeeded状態が上書きされる可能性がありました。その結果、最終のステータス情報が失われ、パイプライン実行の状態を監視するすべてのサービスに混乱を生じさせる可能性がありました。この問題は、パイプライン実行がSucceededまたはTrue状態になる際に、パイプラインの結果の解決を調整の最後に移行することにで解決されました。 - 実行ステータス変数が検証されるようになりました。これにより、実行ステータスにアクセスするためのコンテキスト変数の検証中に、タスク結果が検証されることを防ぐことができます。
- 以前のバージョンでは、無効な変数を含むパイプラインの結果は、変数のリテラル式はそのままの状態でパイプライン実行に追加されます。そのため、結果が正しく設定されているかどうかを評価することは容易ではありませんでした。この問題は、失敗したタスク実行を参照するパイプライン実行結果でフィルタリングすることで解決されています。無効な変数を含むパイプラインの結果は、パイプライン実行によって出されなくなりました。
-
tkn eventlistener describeコマンドは、テンプレートなしでクラッシュを回避できるように修正されています。また、トリガーの参照に関する情報も表示します。 -
template.nameが利用できないため、Pipelines 1.3.x 以前のバージョンから Pipelines 1.4.0 へのアップグレードにより、イベントリスナーが破損します。Pipelines 1.4.1 では、トリガーでイベントリスナーが破損しないように、template.nameが復元されています。 -
Pipelines 1.4.1 では、
ConsoleQuickStartカスタムリソースが OpenShift Container Platform 4.7 の機能および動作に合わせて更新されました。
4.1.10. Red Hat OpenShift Pipelines テクノロジープレビュー 1.3 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.10.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines テクノロジープレビュー (TP) 1.3 が OpenShift Container Platform 4.7 で利用可能になりました。Red Hat OpenShift Pipelines TP 1.3 が以下をサポートするように更新されています。
- Tekton Pipelines 0.19.0
-
Tekton
tknCLI 0.15.0 - Tekton Triggers 0.10.2
- Tekton Catalog 0.19.0 をベースとするクラスタータスク
- OpenShift Container Platform 4.7 での IBM Power Systems
- OpenShift Container Platform 4.7 での IBM Z および LinuxONE
以下のセクションでは、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.3 の主な新機能について説明します。
4.1.10.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
- S2I や Buildah タスクなどのイメージをビルドするタスクが、イメージの SHA を含むビルドされたイメージの URL を生成するようになりました。
-
Conditionカスタムリソース定義 (CRD) が非推奨となっているため、カスタムタスクを参照するパイプラインタスクの条件は許可されません。 -
spec.steps[].imagePullPolicyおよびspec.sidecar[].imagePullPolicyフィールドのTaskCRD に変数の拡張が追加されました。 -
disable-creds-initfeature-flag をtrueに設定すると、Tekton のビルトイン認証情報メカニズムを無効にすることができます。 -
解決済みの When 式は、
PipelineRun設定のStatusフィールドのSkipped TasksおよびTask Runsセクションにリスト表示されるようになりました。 -
git initコマンドが、再帰的なサブモジュールのクローンを作成できるようになりました。 -
TaskCR の作成者は、Task仕様のステップのタイムアウトを指定できるようになりました。 -
エントリーポイントイメージを
distroless/static:nonrootイメージにベースとして作成し、ベースイメージに存在するcpコマンドを使用せずに、これを宛先にコピーするモードを許可できるようになりました。 -
Git SSH シークレットの既知のホストの省略を許可しないように、設定フラグ
require-git-ssh-secret-known-hostsを使用できるようになりました。フラグ値がtrueに設定されている場合には、Git SSH シークレットにknown_hostフィールドを含める必要があります。フラグのデフォルト値はfalseです。 - オプションのワークスペースの概念が導入されました。タスクまたはパイプラインはワークスペースオプションを宣言し、その存在に基づいて動作を条件的に変更する可能性があります。タスク実行またはパイプライン実行により、そのワークスペースが省略され、タスクまたはパイプラインの動作が変更される可能性があります。デフォルトのタスク実行ワークスペースは、省略されたオプションのワークスペースの代わりに追加されることはありません。
- Tekton の認証情報の初期化により、SSH 以外の URL で使用する SSH 認証情報が検出されるほか、Git パイプラインリソースでは SSH URL で使用する http 認証情報が検出され、Step コンテナーで警告がログに記録されるようになりました。
- タスク実行コントローラーは、Pod テンプレートで指定されたアフィニティーがアフィニティーアシスタントによって上書きされる場合に警告イベントを生成します。
- タスク実行リコンサイラーは、タスク実行が完了すると生成されるクラウドイベントのメトリックを記録するようになりました。これには再試行が含まれます。
4.1.10.1.2. Pipelines CLI リンクのコピーリンクがクリップボードにコピーされました!
-
--no-headers flagのサポートが、次のコマンドに追加されました:tkn condition list、tkn triggerbinding list、tkn eventlistener list、tkn clustertask list、tkn clustertriggerbinding list -
併用した場合、
--lastまたは--useオプションは、--prefix-nameおよび--timeoutオプションを上書きします。 -
tkn eventlistener logsコマンドが追加され、EventListenerログが表示されるようになりました。 -
tekton hubコマンドはtknCLI に統合されるようになりました。 -
--nocolourオプションは--no-colorに変更されました。 -
--all-namespacesフラグは、次のコマンドに追加されました:tkn triggertemplate list、tkn condition list、tkn triggerbinding list、tkn eventlistener list
4.1.10.1.3. トリガー リンクのコピーリンクがクリップボードにコピーされました!
-
EventListenerテンプレートでリソース情報を指定できるようになりました。 -
すべてのトリガーリソースの
get動詞に加えて、EventListenerサービスアカウントにlistおよびwatch動詞が設定されることが必須になりました。これにより、Listersを使用してEventListener、Trigger、TriggerBinding、TriggerTemplate、およびClusterTriggerBindingリソースからデータを取得することができます。この機能を使用して、複数のインフォーマーを指定するのではなくSinkオブジェクトを作成し、API サーバーを直接呼び出すことができます。 -
イミュータブルな入力イベント本体をサポートする新たな
Interceptorインターフェイスが追加されました。インターセプターはデータまたはフィールドを新しいextensionsフィールドに追加できるようになり、入力本体を変更できなくなったことでイミュータブルとなりました。CEL インターセプターはこの新たなInterceptorインターフェイスを使用します。 -
namespaceSelectorフィールドはEventListenerリソースに追加されます。これを使用して、EventListenerリソースがイベント処理用にTriggerオブジェクトを取得できる namespace を指定します。namespaceSelectorフィールドを使用するには、EventListenerのサービスアカウントにクラスターロールが必要です。 -
トリガー
EventListenerリソースは、eventlistenerPod へのエンドツーエンドのセキュアな接続をサポートするようになりました。 -
"を\"に置き換えることで、TriggerTemplatesリソースのエスケープパラメーター動作が削除されました。 -
Kubernetes リソースをサポートする新規
resourcesフィールドは、EventListener仕様の一部として導入されます。 - ASCII 文字列の大文字と小文字へのサポートが含まれる CEL インターセプターの新機能が追加されました。
-
TriggerBindingリソースは、トリガーのnameおよびvalueフィールドを使用するか、イベントリスナーを使用して埋め込むことができます。 -
PodSecurityPolicy設定は、制限された環境で実行されるように更新されます。これにより、コンテナーは root 以外のユーザーとして実行する必要があります。さらに、Pod セキュリティーポリシーを使用するためのロールベースのアクセス制御は、クラスタースコープから namespace スコープに移行されます。これにより、トリガーは namespace に関連しない他の Pod セキュリティーポリシーを使用することができません。 -
埋め込みトリガーテンプレートのサポートが追加されました。
nameフィールドを使用して埋め込みテンプレートを参照するか、specフィールド内にテンプレートを埋め込むことができます。
4.1.10.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
PipelineResourcesCRD を使用する Pipeline テンプレートは非推奨となり、今後のリリースで削除されます。 -
template.refフィールドが優先されるため、template.nameフィールドは非推奨となり、今後のリリースで削除されます。 -
--checkコマンドの短縮形である-cが削除されました。さらに、グローバルtknフラグがversionコマンドに追加されます。
4.1.10.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
-
CEL オーバーレイは、受信イベント本体を変更する代わりに、フィールドを新しい最上位の
extensions関数に追加します。TriggerBindingリソースは、$(extensions.<key>)構文を使用して、この新しいextensions関数内の値にアクセスできます。$(body.<overlay-key>)の代わりに$(extensions.<key>)構文を使用するようにバインディングを更新します。 -
"を\"に置き換えることで、エスケープパラメーター動作が削除されました。古いエスケープパラメーターの動作を保持する必要がある場合は、tekton.dev/old-escape-quotes: true"アノテーションをTriggerTemplate仕様に追加します。 -
TriggerBindingリソースは、トリガーまたはイベントリスナー内のnameおよびvalueフィールドを使用して組み込みことができます。ただし、単一のバインディングにnameおよびrefフィールドの両方を指定することはできません。refフィールドを使用してTriggerBindingリソースおよび埋め込みバインディングのnameフィールドを参照します。 -
インターセプターは、
EventListenerリソースの namespace 外でsecretの参照を試行することはできません。シークレットを `EventListener` の namespace に含める必要があります。 -
Trigger 0.9.0 以降では、本体またはヘッダーベースの
TriggerBindingパラメーターが見つからないか、イベントペイロードで形式が正しくない場合に、エラーを表示する代わりにデフォルト値が使用されます。 -
JSON アノテーションを修正するには、Tekton および Pipelines 0.16.x を使用して
WhenExpressionオブジェクトで作成されたタスクおよびパイプラインを再適用する必要があります。 - パイプラインがオプションのワークスペースを受け入れ、これをタスクに付与すると、ワークスペースが指定されていない場合はパイプライン実行が停止します。
- 非接続環境で Buildah クラスタータスクを使用するには、Dockerfile が内部イメージストリームをベースイメージとして使用していることを確認してから、これを S2I クラスタータスクと同じ方法で使用します。
4.1.10.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
CEL インターセプターによって追加された拡張機能は、イベント本体内に
Extensionsフィールドを追加して Webhook インターセプターに渡されます。 -
ログリーダーのアクティビティータイムアウトは、
LogOptionsフィールドを使用して設定できるようになりました。ただし、10 秒のタイムアウトのデフォルト動作は保持されます。 -
logコマンドは、タスク実行またはパイプライン実行が完了したときに--followフラグを無視し、ライブログではなく利用可能なログを読み取ります。 -
以下の Tekton リソースへの参照:
EventListener、TriggerBinding、ClusterTriggerBinding、Condition、およびTriggerTemplateは、tknコマンドのすべてのユーザーに表示されるメッセージで標準化され、一貫性を保つようになりました。 -
以前は、
--use-taskrun <canceled-task-run-name>、--use-pipelinerun <canceled-pipeline-run-name>または--lastフラグを使用してキャンセルされたタスク実行またはパイプライン実行を開始した場合、新規の実行はキャンセルされました。このバグは修正されています。 -
tkn pr descコマンドが強化され、パイプラインが各種の状態で実行された場合に失敗しなくなりました。 -
--taskオプションでtkn tr deleteコマンドを使用してタスク実行を削除し、クラスタータスクが同じ名前で存在する場合、クラスタータスクのタスク実行も削除されます。回避策として、TaskRefKindフィールドを使用して、タスク実行をフィルタリングします。 -
tkn triggertemplate describeコマンドは、出力内のapiVersion値の一部のみを表示します。たとえば、triggers.tekton.dev/v1alpha1ではなく、triggers.tekton.devのみが表示されました。このバグは修正されています。 - 特定の条件下で Webhook はリースの取得に失敗し、正常に機能しません。このバグは修正されています。
- v0.16.3 で作成した When 式を持つパイプラインは、v0.17.1 以降で実行できるようになりました。アップグレード後に、アノテーションの最初の大文字と小文字の両方がサポートされるようになったため、以前のバージョンで作成されたパイプライン定義を再適用する必要はありません。
-
デフォルトでは、
leader-election-haフィールドが高可用性に対して有効にされるようになりました。コントローラーフラグdisable-haをtrueに設定すると、高可用性サポートが無効になります。 - 重複したクラウドイベントに関する問題が修正されています。クラウドイベントは、条件が状態、理由、またはメッセージを変更する場合にのみ送信されるようになりました。
-
サービスアカウント名が
PipelineRunまたはTaskRun仕様にない場合、コントローラーはconfig-defaults設定マップからサービスアカウント名を使用します。サービスアカウント名がconfig-defaults設定マップにもない場合、コントローラーはこれを仕様でdefaultに設定するようになりました。 - アフィニティーアシスタントとの互換性の検証は、同じ永続ボリューム要求 (PVC) が複数のワークスペースに使用される場合にサポートされるようになりましたが、サブパスは異なります。
4.1.11. Red Hat OpenShift Pipelines テクノロジープレビュー 1.2 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.11.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines テクノロジープレビュー (TP) 1.2 が OpenShift Container Platform 4.6 で利用可能になりました。Red Hat OpenShift Pipelines TP 1.2 が以下をサポートするように更新されています。
- Tekton Pipelines 0.16.3
-
Tekton
tknCLI 0.13.1 - Tekton Triggers 0.8.1
- Tekton Catalog 0.16 をベースとするクラスタータスク
- OpenShift Container Platform 4.6 での IBM Power Systems
- OpenShift Container Platform 4.6 での IBM Z および LinuxONE
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.2 の主な新機能について説明します。
4.1.11.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines のリリースでは、非接続インストールのサポートが追加されました。
注記制限された環境でのインストールは現時点で、IBM Power Systems、IBM Z、および LinuxONE ではサポートされていません。
-
conditionsリソースの代わりにwhenフィールドを使用して、特定の条件が満たされる場合にのみタスクを実行できるようになりました。WhenExpressionの主なコンポーネントはInput、Operator、およびValuesです。すべての When 式がTrueに評価されると、タスクが実行されます。When 式のいずれかがFalseに評価されると、タスクはスキップされます。 - ステップのステータスは、タスクの実行がキャンセルまたはタイムアウトすると更新されるようになりました。
-
git-initが使用するベースイメージをビルドするために、Git Large File Storage (LFS) のサポートが利用できるようになりました。 -
taskSpecフィールドを使用して、タスクがパイプラインに組み込まれる際に、ラベルやアノテーションなどのメタデータを指定できるようになりました。 -
クラウドイベントがパイプラインの実行でサポートされるようになりました。
backoffを使用した再試行が、クラウドイベントパイプラインリソースによって送信されるクラウドイベントに対して有効になりました。 -
Taskリソースが宣言するものの、TaskRunリソースが明示的に指定しないワークスペースのデフォルトのWorkspace設定を設定できるようになりました。 -
サポートは、
PipelineRunnamespace およびTaskRunnamespace の namespace 変数の補間に利用できます。 -
TaskRunオブジェクトの検証が追加され、TaskRunリソースが Affinity Assistant に関連付けられる際に複数の永続ボリューム要求 (PVC) ワークスペースが使用されていないことを確認するようになりました。複数の永続ボリューム要求 (PVC) ワークスペースが使用されていると、タスクの実行はTaskRunValidationFailedの状態で失敗します。デフォルトで、Affinity Assistant は Red Hat OpenShift Pipelines で無効にされているため、これを使用できるように有効にする必要があります。
4.1.11.1.2. Pipelines CLI リンクのコピーリンクがクリップボードにコピーされました!
tkn task describe、tkn taskrun describe、tkn clustertask describe、tkn pipeline describe、およびtkn pipelinerun describeコマンドが以下を実行するようになりました。-
Task、TaskRun、ClusterTask、PipelineおよびPipelineRunリソースのいずれかが 1 つしかない場合、それぞれを自動的に選択します。 -
出力に
Task、TaskRun、ClusterTask、PipelineおよびPipelineRunリソースの結果をそれぞれ表示します。 -
出力に
Task、TaskRun、ClusterTask、PipelineおよびPipelineRunリソースで宣言されたワークスペースをそれぞれ表示します。
-
-
tkn clustertask startコマンドに--prefix-nameオプションを指定して、タスク実行の名前に接頭辞を指定できるようになりました。 -
インタラクティブモードのサポートが
tkn clustertask startコマンドに提供されるようになりました。 -
TaskRunおよびPipelineRunオブジェクトのローカルまたはリモートファイル定義を使用して、パイプラインでサポートされるPodTemplateプロパティーを指定できるようになりました。 -
--use-params-defaultsオプションをtkn clustertask startコマンドに指定して、ClusterTask設定に設定したデフォルト値を使用して、タスク実行を作成できるようになりました。 -
tkn pipeline startコマンドの--use-param-defaultsフラグで、デフォルトの値が一部のパラメーターに指定されていない場合に対話モードをプロンプトで表示するようになりました。
4.1.11.1.3. トリガー リンクのコピーリンクがクリップボードにコピーされました!
-
YAML 文字列を文字列のマップに解析するために、
parseYAMLという名前の Common Expression Language (CEL) 関数が追加されました。 - 式を評価する際や、評価環境を作成するためにフック本体を解析する際に、CEL 式の解析を行うエラーメッセージの詳細度が上がりました。
- ブール値とマップが CEL オーバーレイメカニズムで式の値として使用されている場合に、それらをマーシャリングするためのサポートが利用できるようになりました。
以下のフィールドが
EventListenerオブジェクトに追加されました。-
replicasフィールドは、YAML ファイルのレプリカ数を指定して、イベントリスナーが複数の Pod を実行できるようにします。 -
NodeSelectorフィールドでは、EventListenerオブジェクトがイベントリスナー Pod を特定のノードにスケジュールできるようにします。
-
-
Webhook インターセプターは
EventListener-Request-URLヘッダーを解析し、イベントリスナーによって処理される元のリクエスト URL からパラメーターを抽出できるようになりました。 - イベントリスナーからのアノテーションがデプロイメント、サービス、およびその他の Pod に伝播できるようになりました。サービスまたはデプロイメントのカスタムアノテーションは上書きされるため、イベントリスナーアノテーションに追加して伝播できるようにする必要があります。
-
EventListener仕様のレプリカの適切な検証が、ユーザーがspec.replicas値をnegativeまたはzeroとして指定する場合に利用できるようになりました。 -
TriggerCRDオブジェクトを、TriggerRefフィールドを使用して参照としてEventListener仕様内に指定し、TriggerCRDオブジェクトを別個に作成してから、これをEventListener仕様内でバインドできるようになりました。 -
TriggerCRDオブジェクトの検証およびデフォルト値が利用可能になりした。
4.1.11.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
$(params)パラメーターはtriggertemplateリソースから削除され、$(tt.params)に置き換えられ、これによりresourcetemplateとtriggertemplateパラメーター間の混乱が生じなくなります。 -
オプションの
EventListenerTriggerベースの認証レベルのServiceAccount参照がServiceAccountName文字列へのオブジェクト参照から変更されました。これにより、ServiceAccount参照がEventListenerTriggerオブジェクトと同じ namespace に置かれるようになりました。 -
Conditionsカスタムリソース定義 (CRD) は非推奨となり、代わりにWhenExpressionsCRD が使用されます。 -
PipelineRun.Spec.ServiceAccountNamesオブジェクトは非推奨となり、PipelineRun.Spec.TaskRunSpec[].ServiceAccountNameオブジェクトによって置き換えられます。
4.1.11.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat OpenShift Pipelines のリリースでは、非接続インストールのサポートが追加されました。ただし、クラスタータスクで使用される一部のイメージは、非接続クラスターで動作するようにミラーリングする必要があります。
-
openshiftnamespace のパイプラインは、Red Hat OpenShift Pipelines Operator のアンインストール後に削除されません。oc delete pipelines -n openshift --allコマンドを使用してパイプラインを削除します。 Red Hat OpenShift Pipelines Operator をアンインストールしても、イベントリスナーは削除されません。
回避策として、
EventListenerおよびPodCRD を削除するには、以下を実行します。EventListenerオブジェクトをforegroundDeletionファイナライザーで編集します。oc patch el/<eventlistener_name> -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=merge$ oc patch el/<eventlistener_name> -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc patch el/github-listener-interceptor -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=merge$ oc patch el/github-listener-interceptor -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow EventListenerCRD を削除します。oc patch crd/eventlisteners.triggers.tekton.dev -p '{"metadata":{"finalizers":[]}}' --type=merge$ oc patch crd/eventlisteners.triggers.tekton.dev -p '{"metadata":{"finalizers":[]}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
IBM Power Systems (ppc64le) または IBM Z (s390x) クラスターでコマンド仕様なしにマルチアーキテクチャーコンテナーイメージタスクを実行すると、
TaskRunリソースは以下のエラーを出して失敗します。Error executing command: fork/exec /bin/bash: exec format error
Error executing command: fork/exec /bin/bash: exec format errorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 回避策として、アーキテクチャー固有のコンテナーイメージを使用するか、正しいアーキテクチャーを参照する sha256 ダイジェストを指定します。sha256 ダイジェストを取得するには、以下を実行します。
skopeo inspect --raw <image_name>| jq '.manifests[] | select(.platform.architecture == "<architecture>") | .digest'
$ skopeo inspect --raw <image_name>| jq '.manifests[] | select(.platform.architecture == "<architecture>") | .digest'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.11.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
- CEL フィルター、Webhook バリデーターのオーバーレイ、およびインターセプターの式を確認するための簡単な構文検証が追加されました。
- Trigger は、基礎となるデプロイメントおよびサービスオブジェクトに設定されたアノテーションを上書きしなくなりました。
-
以前のバージョンでは、イベントリスナーはイベントの受け入れを停止しました。今回の修正により、この問題を解決するために
EventListenerシンクの 120 秒のアイドルタイムアウトが追加されました。 -
以前のバージョンでは、
Failed(Canceled)状態でパイプラインの実行を取り消すと、成功のメッセージが表示されました。これは、代わりにエラーが表示されるように修正されました。 -
tkn eventlistener listコマンドがリスト表示されたイベントリスナーのステータスを提供するようになり、利用可能なイベントリスナーを簡単に特定できるようになりました。 -
トリガーがインストールされていない場合や、リソースが見つからない場合に、
triggers listおよびtriggers describeコマンドについて一貫性のあるエラーメッセージが表示されるようになりました。 -
以前のバージョンでは、多くのアイドル接続がクラウドイベントの配信時に増大しました。この問題を修正するために、
DisableKeepAlives: trueパラメーターがcloudeventclient設定に追加されました。新規の接続がすべてのクラウドイベントに設定されます。 -
以前のバージョンでは、特定のタイプの認証情報が指定されていない場合であっても、
creds-initコードが空のファイルをディスクに書き込みました。今回の修正により、creds-initコードが変更され、正しくアノテーションが付けられたシークレットから実際にマウントされた認証情報のみのファイルを書き込むようになりました。
4.1.12. Red Hat OpenShift Pipelines テクノロジープレビュー 1.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.12.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines テクノロジープレビュー (TP) 1.1 が OpenShift Container Platform 4.5 で利用可能になりました。Red Hat OpenShift Pipelines TP 1.1 が以下をサポートするように更新されています。
- Tekton Pipelines 0.14.3
-
Tekton
tknCLI 0.11.0 - Tekton Triggers 0.6.1
- Tekton Catalog 0.14 をベースとするクラスタータスク
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.1 の主な新機能について説明します。
4.1.12.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
- ワークスペースをパイプラインリソースの代わりに使用できるようになりました。パイプラインリソースはデバッグが容易ではなく、スコープの制限があり、タスクの再利用を可能にしないため、OpenShift Pipelines ではワークスペースを使用することが推奨されます。ワークスペースの詳細は、OpenShift Pipelines のセクションを参照してください。
ボリューム要求テンプレートのワークスペースのサポートが追加されました。
- パイプライン実行およびタスク実行のボリューム要求テンプレートがワークスペースのボリュームソースとして追加できるようになりました。次に、tekton-controller はパイプラインのすべてのタスク実行の PVC として表示されるテンプレートを使用して永続ボリューム要求 (PVC) を作成します。したがって、複数のタスクにまたがるワークスペースをバインドするたびに PVC 設定を定義する必要はありません。
- ボリューム要求テンプレートがボリュームソースとして使用される場合の PVC の名前検索のサポートが、変数の置換を使用して利用できるようになりました。
監査を強化するサポート:
-
PipelineRun.Statusフィールドには、パイプラインのすべてのタスク実行のステータスと、パイプライン実行の進捗をモニターするためにパイプライン実行をインスタンス化する際に使用するパイプライン仕様が含まれるようになりました。 -
Pipeline の結果が Pipeline 仕様および
PipelineRunステータスに追加されました。 -
TaskRun.Statusフィールドには、TaskRunリソースのインスタンス化に使用される実際のタスク仕様が含まれるようになりました。
-
- デフォルトパラメーターを各種の状態に適用するサポート。
-
クラスタータスクを参照して作成されるタスク実行は、
tekton.dev/taskラベルではなくtekton.dev/clusterTaskラベルを追加するようになりました。 -
kube config writer は、kubeconfig-creator タスクでパイプラインリソースタイプクラスターの置き換えを有効にするために
ClientKeyDataおよびClientCertificateData設定をリソース構造に追加できるようになりました。 -
feature-flagsおよびconfig-defaults設定マップの名前はカスタマイズ可能になりました。 - タスク実行で使用される Pod テンプレートのホストネットワークのサポートが追加されました。
- Affinity Assistant が、ワークスペースボリュームを共有するタスク実行のノードのアフィニティーをサポートするようになりました。デフォルトで、これは OpenShift Pipelines で無効にされます。
-
Pod テンプレートは、Pod の起動時にコンテナーイメージのプルを許可するためにコンテナーランタイムが使用するシークレットを特定するために
imagePullSecretsを指定するように更新されました。 - コントローラーがタスク実行の更新に失敗した場合にタスク実行コントローラーから警告イベントを出すためのサポート。
- アプリケーションまたはコンポーネントに属するリソースを特定するために、すべてのリソースに標準または推奨される k8s ラベルが追加されました。
-
Entrypointプロセスがシグナルについて通知されるようになり、これらのシグナルはEntrypointプロセスの専用の PID グループを使用して伝播されるようになりました。 - Pod テンプレートはタスク実行仕様を使用してランタイム時にタスクレベルで設定できるようになりました。
Kubernetes イベントを生成するサポート。
-
コントローラーは、追加のタスク実行ライフサイクルイベント (
taskrun startedおよびtaskrun running) のイベントを生成するようになりました。 - パイプライン実行コントローラーは、パイプラインの起動時に毎回イベントを生成するようになりました。
-
コントローラーは、追加のタスク実行ライフサイクルイベント (
- デフォルトの Kubernetes イベントのほかに、タスク実行のクラウドイベントのサポートが利用可能になりました。コントローラーは、クラウドイベントとして create、started、および failed などのタスク実行イベントを送信するように設定できます。
-
パイプライン実行およびタスク実行の場合に適切な名前を参照するための
$context.<taskRun|pipeline|pipelineRun>.name変数を使用するサポート。 - パイプライン実行パラメーターの検証が、パイプラインで必要なすべてのパラメーターがパイプライン実行によって提供できるようにするために利用可能になりました。これにより、パイプライン実行は必要なパラメーターに加えて追加のパラメーターを指定することもできます。
-
パイプライン YAML ファイルの
finallyフィールドを使用して、すべてのタスクが正常に終了するか、パイプラインのタスクの失敗後、パイプラインが終了する前に常に実行されるパイプライン内でタスクを指定できるようになりました。 -
git-cloneクラスタータスクが利用できるようになりました。
4.1.12.1.2. Pipelines CLI リンクのコピーリンクがクリップボードにコピーされました!
-
組み込まれた Trigger バインディングのサポートが、
tkn evenlistener describeコマンドで利用できるようになりました。 - 正しくないサブコマンドが使用される場合にサブコマンドを推奨し、提案するためのサポート。
-
tkn task describeコマンドは、1 つのタスクのみがパイプラインに存在する場合にタスクを自動的に選択できるようになりました。 -
--use-param-defaultsフラグをtkn task startコマンドに指定することにより、デフォルトのパラメーター値を使用してタスクを起動できるようになりました。 -
--workspaceオプションをtkn pipeline startまたはtkn task startコマンドで使用して、パイプライン実行またはタスク実行のボリューム要求テンプレートを指定できるようになりました。 -
tkn pipelinerun logsコマンドに、finallyセクションにリスト表示される最終タスクのログが表示されるようになりました。 -
インタラクティブモードのサポートが、以下の
tknリソース向けにtkn task startコマンドおよびdescribeサブコマンドに追加されました:pipeline、pipelinerun、task、taskrun、clustertaskおよびpipelineresource。 -
tkn versionコマンドで、クラスターにインストールされているトリガー のバージョンが表示されるようになりました。 -
tkn pipeline describeコマンドで、パイプラインで使用されるタスクに指定されたパラメーター値およびタイムアウトが表示されるようになりました。 -
最近のパイプライン実行またはタスク実行をそれぞれ記述できるように、
tkn pipelinerun describeおよびtkn taskrun describeコマンドの--lastオプションのサポートが追加されました。 -
tkn pipeline describeコマンドに、パイプラインのタスクに適用される各種の状態が表示されるようになりました。 -
--no-headersおよび--all-namespacesフラグをtkn resource listコマンドで使用できるようになりました。
4.1.12.1.3. トリガー リンクのコピーリンクがクリップボードにコピーされました!
以下の Common Expression Language (CEL) 機能が利用できるようになりました。
-
parseURL: URL の一部を解析し、抽出します。 -
parseJSON:deploymentwebhook のpayloadフィールドの文字列に埋め込まれた JSON 値タイプを解析します。
-
- Bitbucket からの Webhook の新規インターセプターが追加されました。
-
イベントリスナーは、
kubectl getコマンドでリスト表示される際の追加フィールドとしてAddress URLおよびAvailable statusを表示します。 -
トリガーテンプレートパラメーターは、
$(params.<paramName>)ではなく$(tt.params.<paramName>)構文を使用するようになり、トリガーテンプレートとリソーステンプレートパラメーター間で生じる混乱が軽減されました。 -
EventListenerCRD にtolerationsを追加し、セキュリティーや管理上の問題によりすべてのノードにテイントのマークが付けられる場合でもイベントリスナーが同じ設定でデプロイされるようにできるようになりました。 -
イベントリスナー Deployment の Readiness Probe を
URL/liveに追加できるようになりました。 -
イベントリスナートリガーでの
TriggerBinding仕様の埋め込みのサポート。 -
Trigger リソースに推奨される
app.kubernetes.ioラベルでアノテーションが付けられるようになりました。
4.1.12.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
本リリースでは、以下の項目が非推奨になりました。
-
clustertaskコマンドおよびclustertriggerbindingコマンドを含む、クラスター全体のすべてのコマンドの--namespaceまたは-nフラグが非推奨になりました。これは今後のリリースで削除されます。 -
refフィールドが優先されるため、イベントリスナー内のtriggers.bindingsのnameフィールドは非推奨となり、今後のリリースで削除されます。 -
$(tt.params)が優先されるため、$(params)を使用したトリガーテンプレートの変数の補間が非推奨となり、これにより、パイプライン変数の補間構文に関連した混乱が軽減されました。$(params.<paramName>)構文は今後のリリースで削除されます。 -
tekton.dev/taskラベルはクラスタータスクで非推奨になりました。 -
TaskRun.Status.ResourceResults.ResourceRefフィールドは非推奨となり、今後削除されます。 -
tkn pipeline create、tkn task create、およびtkn resource create -fサブコマンドが削除されました。 -
namespace の検証が
tknコマンドから削除されました。 -
tkn ct startコマンドのデフォルトタイムアウトの1hおよび-tフラグが削除されました。 -
s2iクラスタータスクが非推奨になりました。
4.1.12.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
- 各種の状態はワークスペースには対応しません。
-
--workspaceオプションとおよびインタラクティブモードはtkn clustertask startコマンドではサポートされていません。 -
$(params.<paramName>)構文の後方互換性のサポートにより、トリガーテンプレートがパイプライン固有のパラメーターで強制的に使用されます。 トリガー webhook がトリガーパラメーターとパイプラインパラメーターを区別できないためです。 -
Pipeline メトリックは、
tekton_taskrun_countおよびtekton_taskrun_duration_seconds_countの promQL を実行する際に正しくない値を報告します。 -
パイプライン実行およびタスク実行は、存在しない PVC 名がワークスペースに指定されている場合でも、それぞれ
RunningおよびRunning(Pending)の状態のままになります。
4.1.12.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
以前のバージョンでは、タスクおよびクラスタータスクの名前が同じ場合、
tkn task delete <name> --trsコマンドは、タスクとクラスタータスクの両方を削除しました。今回の修正により、コマンドはタスク<name>で作成されるタスク実行のみを削除するようになりました。 -
以前のバージョンでは、
tkn pr delete -p <name> --keep 2コマンドは、--keepフラグと共に使用する場合に-pフラグを無視し、最新の 2 つのパイプライン実行を除きすべてのパイプライン実行を削除しました。今回の修正により、コマンドは最新の 2 つのパイプライン実行を除き、パイプライン<name>で作成されるパイプライン実行のみを削除するようになりました。 -
tkn triggertemplate describe出力には、YAML 形式ではなくテーブル形式でリソーステンプレートが表示されるようになりました。 -
以前のバージョンでは、
buildahクラスタータスクは、新規ユーザーがコンテナーに追加されると失敗していました。今回の修正により、この問題は解決されています。
4.1.13. Red Hat OpenShift Pipelines テクノロジープレビュー 1.0 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.13.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines テクノロジープレビュー (TP) 1.0 が OpenShift Container Platform 4.4 で利用可能になりました。Red Hat OpenShift Pipelines TP 1.0 が以下をサポートするように更新されています。
- Tekton Pipelines 0.11.3
-
Tekton
tknCLI 0.9.0 - Tekton Triggers 0.4.0
- Tekton Catalog 0.11 をベースとするクラスタータスク
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.0 の主な新機能について説明します。
4.1.13.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
- v1beta1 API バージョンのサポート。
- 改善された制限範囲のサポート。以前のバージョンでは、制限範囲はタスク実行およびパイプライン実行に対してのみ指定されていました。制限範囲を明示的に指定する必要がなくなりました。namespace 間で最小の制限範囲が使用されます。
- タスク結果およびタスクパラメーターを使用してタスク間でデータを共有するためのサポート。
-
パイプラインは、
HOME環境変数および各ステップの作業ディレクトリーを上書きしないように設定できるようになりました。 -
タスクステップと同様に、
sidecarsがスクリプトモードをサポートするようになりました。 -
タスク実行
podTemplateリソースに別のスケジューラーの名前を指定できるようになりました。 - Star Array Notation を使用した変数置換のサポート。
- Tekton コントローラーは、個別の namespace を監視するように設定できるようになりました。
- パイプライン、タスク、クラスタータスク、リソース、および状態 (condition) の仕様に新規の説明フィールドが追加されました。
- Git パイプラインリソースへのプロキシーパラメーターの追加。
4.1.13.1.2. Pipelines CLI リンクのコピーリンクがクリップボードにコピーされました!
-
describeサブコマンドが以下のtknリソースについて追加されました。EventListener、Condition、TriggerTemplate、ClusterTask、およびTriggerSBinding。 -
v1beta1についてのサポートが、v1alpha1の後方互換性と共に以下のコマンドに追加されました。ClusterTask、Task、Pipeline、PipelineRun、およびTaskRun。 以下のコマンドは、
--all-namespacesフラグオプションを使用してすべての namespace からの出力をリスト表示できるようになりました。これらは、tkn task list、tkn pipeline list、tkn taskrun list、tkn pipelinerun listです。これらのコマンドの出力は、
--no-headersフラグオプションを使用してヘッダーなしで情報を表示するように強化されています。-
--use-param-defaultsフラグをtkn pipelines startコマンドに指定することにより、デフォルトのパラメーター値を使用してパイプラインを起動できるようになりました。 -
ワークスペースのサポートが
tkn pipeline startおよびtkn task startコマンドに追加されるようになりました。 -
新規の
clustertriggerbindingコマンドが以下のサブコマンドと共に追加されました。describe、delete、およびlist。 -
ローカルまたはリモートの
yamlファイルを使用してパイプラインの実行を直接開始できるようになりました。 -
describeサブコマンドには、強化され、詳細化した出力が表示されるようになりました。description、timeout、param description、およびsidecar statusなどの新規フィールドの追加により、コマンドの出力に特定のtknリソースについてのより詳細な情報が提供されるようになりました。 -
tkn task logコマンドには、1 つのタスクが namespace に存在する場合にログが直接表示されるようになりました。
4.1.13.1.3. トリガー リンクのコピーリンクがクリップボードにコピーされました!
-
Trigger は
v1alpha1およびv1beta1の両方のパイプラインリソースを作成できるようになりました。 -
新規 Common Expression Language (CEL) インターセプター機能
compareSecretのサポート。この機能は、文字列と CEL 式のシークレットを安全な方法で比較します。 - イベントリスナーのトリガーレベルでの認証および認可のサポート。
4.1.13.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
本リリースでは、以下の項目が非推奨になりました。
環境変数
$HOME、およびSteps仕様の変数workingDirが非推奨となり、今後のリリースで変更される可能性があります。現時点でStepコンテナーでは、HOMEおよびworkingDir変数が/tekton/homeおよび/workspace変数にそれぞれ上書きされます。今後のリリースでは、これらの 2 つのフィールドは変更されず、コンテナーイメージおよび
TaskYAML で定義される値に設定されます。本リリースでは、disable-home-env-overwriteおよびdisable-working-directory-overwriteフラグを使用して、HOMEおよびworkingDir変数の上書きを無効にします。-
以下のコマンドは非推奨となり、今後のリリースで削除される可能性があります。
tkn pipeline create、tkn task create。 -
tkn resource createコマンドの-fフラグは非推奨になりました。これは今後のリリースで削除される可能性があります。 -
tkn clustertask createコマンドの-tフラグおよび--timeoutフラグ (秒単位の形式) は非推奨になりました。期間タイムアウトの形式のみがサポートされるようになりました (例:1h30s)。これらの非推奨のフラグは今後のリリースで削除される可能性があります。
4.1.13.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
- 以前のバージョンの Red Hat OpenShift Pipelines からアップグレードする場合は、既存のデプロイメントを削除してから Red Hat OpenShift Pipelines バージョン 1.0 にアップグレードする必要があります。既存のデプロイメントを削除するには、まずカスタムリソースを削除してから Red Hat OpenShift Pipelines Operator をアンインストールする必要があります。詳細は、Red Hat OpenShift Pipelines のアンインストールについてのセクションを参照してください。
-
同じ
v1alpha1タスクを複数回送信すると、エラーが発生します。v1alpha1タスクの再送信時に、oc applyではなくoc replaceコマンドを使用します。 buildahクラスタータスクは、新規ユーザーがコンテナーに追加されると機能しません。Operator がインストールされると、
buildahクラスタータスクの--storage-driverフラグが指定されていないため、フラグはデフォルト値に設定されます。これにより、ストレージドライバーが正しく設定されなくなることがあります。新規ユーザーが追加されると、storage-driver が間違っている場合に、buildahクラスタータスクが以下のエラーを出して失敗します。useradd: /etc/passwd.8: lock file already used useradd: cannot lock /etc/passwd; try again later.
useradd: /etc/passwd.8: lock file already used useradd: cannot lock /etc/passwd; try again later.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 回避策として、
buildah-task.yamlファイルで--storage-driverフラグの値をoverlayに手動で設定します。cluster-adminとしてクラスターにログインします。oc login -u <login> -p <password> https://openshift.example.com:6443
$ oc login -u <login> -p <password> https://openshift.example.com:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc editコマンドを使用してbuildahクラスタータスクを編集します。oc edit clustertask buildah
$ oc edit clustertask buildahCopy to Clipboard Copied! Toggle word wrap Toggle overflow buildahclustertask YAML ファイルの現行バージョンがEDITOR環境変数で設定されたエディターで開かれます。Stepsフィールドで、以下のcommandフィールドを見つけます。command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']
command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']Copy to Clipboard Copied! Toggle word wrap Toggle overflow commandフィールドを以下に置き換えます。command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']
command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存して終了します。
または、Pipelines
Cluster Tasks buildah に移動して、 buildahクラスタータスク YAML ファイルを Web コンソール上で直接変更することもできます。Actions メニューから Edit Cluster Task を選択し、直前の手順のようにcommandフィールドを置き換えます。
4.1.13.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
以前のリリースでは、
DeploymentConfigタスクは、イメージのビルドがすでに進行中であっても新規デプロイメントビルドをトリガーしていました。これにより、パイプラインのデプロイメントが失敗していました。今回の修正により、deploy taskコマンドがoc rollout statusコマンドに置き換えられ、進行中のデプロイメントが終了するまで待機するようになりました。 -
APP_NAMEパラメーターのサポートがパイプラインテンプレートに追加されました。 -
以前のバージョンでは、Java S2I のパイプラインテンプレートはレジストリーでイメージを検索できませんでした。今回の修正により、イメージはユーザーによって提供される
IMAGE_NAMEパラメーターの代わりに既存イメージのパイプラインリソースを使用して検索されるようになりました。 - OpenShift Pipelines イメージはすべて、Red Hat Universal Base Images (UBI) をベースにしています。
-
以前のバージョンでは、パイプラインが
tekton-pipelines以外の namespace にインストールされている場合、tkn versionコマンドはパイプラインのバージョンをunknownと表示していました。今回の修正により、tkn versionコマンドにより、正しいパイプラインのバージョンがすべての namespace で表示されるようになりました。 -
-cフラグはtkn versionコマンドでサポートされなくなりました。 - 管理者以外のユーザーがクラスタートリガーバインディングをリスト表示できるようになりました。
-
イベントリスナーの
CompareSecret機能が、CEL インターセプターについて修正されました。 -
タスクおよびクラスタータスクの
list、describe、およびstartサブコマンドは、タスクおよびクラスタータスクが同じ名前を持つ場合に出力に正常に表示されるようになりました。 - 以前のバージョンでは、OpenShift Pipelines Operator は特権付き SCC (Security Context Constraints) を変更していました。これにより、クラスターのアップグレード時にエラーが発生しました。このエラーは修正されています。
-
tekton-pipelinesnamespace では、設定マップを使用して、すべてのタスク実行およびパイプライン実行のタイムアウトがdefault-timeout-minutesフィールドの値に設定されるようになりました。 - 以前のバージョンでは、Web コンソールのパイプラインセクションは管理者以外のユーザーには表示されませんでした。この問題は解決されています。