1.3. Red Hat OpenShift Pipelines 一般提供 1.15 のリリースノート
この更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.15 が OpenShift Container Platform 4.14 以降のバージョンで利用できるようになります。
1.3.1. 新機能
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.15 の主な新機能を説明します。
1.3.1.1. Pipelines
この更新により、
stepRef:
セクションを使用して別のカスタムリソース (CR) からのステップを組み込むときに、taskRef:
セクションとpipelineRef:
セクションでパラメーターを使用するのと同じ方法でパラメーターを使用できるようになります。使用例
apiVersion: tekton.dev/v1 kind: Task metadata: name: test-task spec: steps: - name: fetch-repository stepRef: resolver: git params: - name: url value: https://github.com/tektoncd/catalog.git - name: revision value: main - name: pathInRepo value: stepaction/git-clone/0.1/git-clone params: - name: url value: $(params.repo-url) - name: revision value: $(params.tag-name) - name: output-path value: $(workspaces.output.path)
- この更新の前は、リゾルバーを使用してリモートソースからタスクまたはパイプラインを組み込むときに、パラメーターの 1 つに配列が必要な場合、パラメーターの型を明示的に指定する必要がありました。この更新により、リゾルバーを使用してリモートソースからタスクまたはパイプラインを組み込むときに、パラメーターのタイプを設定する必要がなくなりました。
この更新により、パイプライン実行またはタスク実行でワークスペースの使用を指定するときに、
secret
、configMap
、projected.sources
セクションの仕様でパラメーターやその他の変数を使用できるようになります。使用例
apiVersion: tekton.dev/v1 kind: Task metadata: generateName: something- spec: params: - name: myWorkspaceSecret steps: - image: registry.redhat.io/ubi/ubi8-minimal:latest script: | echo “Hello World” workspaces: - name: myworkspace secret: secretName: $(params.myWorkspaceSecret)
デフォルトでは、OpenShift Pipelines がタスクの実行に必要なコンテナーイメージのプルに失敗すると、タスクは失敗します。このリリースでは、イメージプルバックオフタイムアウトを設定できます。このタイムアウトを設定すると、OpenShift Pipelines はタスクの実行に必要なコンテナーイメージのプルに失敗した場合、指定された期間、イメージのプルを試行し続けます。OpenShift Pipelines が指定された期間内にイメージをプルできない場合、タスクは失敗します。
仕様例
apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: pipeline: options: configMaps: config-defaults: data: default-imagepullbackoff-timeout: "5m"
-
このリリースでは、完了したパイプライン実行またはタスク実行の YAML マニフェストの
childReferences
セクションにdisplayName
フィールドが含まれるようになりました。このフィールドには、パイプライン実行またはタスク実行の表示名が含まれます。これは、パイプライン実行またはタスク実行の完全な名前とは異なる場合があります。 この更新により、完了した
TaskRun
CR の各ステップの YAML マニフェストに新しいterminationReason
フィールドが含まれるようになりました。このフィールドには、ステップ実行が終了した理由が含まれます。OpenShift Pipelines は、terminationReason
フィールドに次の値を使用します。-
Completed
: ステップが正常に完了し、このステップで呼び出されたコマンドがすべて終了コード 0 で終了しました。 -
Continued
: ステップの実行中にエラーが発生しました。たとえば、コマンドがゼロ以外の終了コードを返していたにもかかわらず、onError
値がcontinue
に設定されていたため、ステップの実行が続行されました。エラーの詳細は、ログの出力を参照してください。 -
Error
: ステップの実行中にエラーが発生しました。たとえば、コマンドがゼロ以外の終了コードを返したため、このエラーが原因でこのステップが失敗しました。エラーの詳細は、ログの出力を参照してください。 -
TimeoutExceeded
: ステップの実行がタイムアウトしました。タイムアウトの詳細は、ログの出力を参照してください。 -
Skipped
: 前のステップが失敗したため、このステップはスキップされました。 -
TaskRunCancelled
: タスク実行がキャンセルされました。
-
-
この更新により、
TektonConfig
CR のpipeline.disable-inline-spec
仕様を使用して、PipelineRun
CR 内でのパイプラインとタスクの指定、Pipeline
CR 内でのタスクの指定、またはTaskRun
CR 内でのタスクの指定を無効にすることができます。このオプションを使用する場合は、pipelineRef:
仕様を使用してパイプラインを、taskRef:
仕様を使用してタスクを参照する必要があります。 -
この更新では、Prometheus 命名規則に準拠するために、OpenShift Pipeline の Prometheus モニタリングの一部のメトリクスの名前が変更されました。Gauge および Counter のメトリクス名の最後に
count
を指定しなくてもよくなりました。
1.3.1.2. Operator
この更新により、
resolverTasks
アドオンのopenshift-pipelines
namespace にいくつかのタスクが追加されます。クラスターリゾルバーを使用して、これらのタスクをパイプラインに組み込むことができます。これらのタスクのほとんどは、以前はクラスタータスク (ClusterTask
リソース) として使用できました。クラスターリゾルバーを使用すると、次のタスクにアクセスできます。-
buildah
-
git-cli
-
git-clone
-
kn
-
kn-apply
-
maven
-
openshift-client
-
s2i-dotnet
-
s2i-go
-
s2i-java
-
s2i-nodejs
-
s2i-perl
-
s2i-php
-
s2i-python
-
s2i-ruby
-
skopeo-copy
-
tkn
-
-
この更新により、
TektonConfig
CR でpruner.startingDeadlineSeconds
仕様を設定できるようになりました。パイプライン実行およびタスク実行に関連付けられた古いリソースを削除するプルーナージョブが何らかの理由でスケジュールされた時間に開始されない場合、この設定により、ジョブを開始できる最大時間 (秒単位) が設定されます。指定された時間内にジョブが開始されない場合、OpenShift Pipelines はこのジョブが失敗したと見なし、次のスケジュールされた時間にプルーナーを開始します。 -
この更新により、
TektonConfig
CR のtargetNamespaceMetadata
仕様を使用して、Operator が OpenShift Pipelines をインストールするopenshift-pipelines
namespace のラベルとアノテーションを設定できるようになりました。 - この更新により、OpenShift Pipelines Operator のエラーメッセージに、namespace などの追加のコンテキスト情報が含まれるようになりました。
1.3.1.3. トリガー
この更新により、
TriggerTemplate
CR を使用して、あらゆるタイプのリソースのテンプレートを指定できるようになります。トリガーが呼び出されると、OpenShift Pipelines はトリガーのTriggerTemplate
CR で定義したリソースを作成します。次の例では、トリガーが呼び出されたときにConfigMap
リソースが作成されます。TriggerTemplate
CR の例apiVersion: triggers.tekton.dev/v1beta1 kind: TriggerTemplate metadata: name: create-configmap-template spec: params: - name: action resourcetemplates: - apiVersion: v1 kind: ConfigMap metadata: generateName: sample- data: field: "Action is : $(tt.params.action)"
この更新により、次の例に示すように、
EventListener
CR のServiceType
をNodePort
として定義し、イベントリスナーのポート番号を定義できるようになります。ポート番号を定義する
EventListener
CR の例apiVersion: triggers.tekton.dev/v1beta1 kind: EventListener metadata: name: simple-eventlistener spec: serviceAccountName: simple-tekton-robot triggers: - name: simple-trigger bindings: - ref: simple-binding template: ref: simple-template resources: kubernetesResource: serviceType: NodePort servicePort: 38080
この更新により、
EventListener
CR でLoadBalancer
のserviceType
値を使用する場合、オプションでserviceLoadBalancerClass
フィールドにロードバランサークラスを指定できるようになりました。クラスターに複数のロードバランサーコントローラーが指定されている場合は、ロードバランサークラスを使用してこれらのコントローラーの 1 つを選択できます。ロードバランサークラスの設定の詳細は、Kubernetes のドキュメント を参照してください。LoadBalancerClass 設定の例
apiVersion: triggers.tekton.dev/v1beta1 kind: EventListener metadata: name: listener-loadbalancerclass spec: serviceAccountName: tekton-triggers-example-sa triggers: - name: example-trig bindings: - ref: pipeline-binding - ref: message-binding template: ref: pipeline-template resources: kubernetesResource: serviceType: LoadBalancer serviceLoadBalancerClass: private
1.3.1.4. 手動承認
この更新により、OpenShift Pipelines に新しい Manual Approval Gate 機能が含まれるようになりました。
Manual Approval Gate は、カスタムリソース定義 (CRD) コントローラーです。このコントローラーを使用すると、パイプラインに手動承認ポイントを追加して、パイプラインがそのポイントで停止し、手動承認を待ってから実行を続行できます。この機能を使用するには、Task
を指定するのと同様の方法で、パイプラインで ApprovalTask
を指定します。ユーザーは、Web コンソールまたは opc
コマンドラインユーティリティーを使用して承認を提供できます。
Manual Approval Gate コントローラーには次の機能が含まれます。
ApprovalTask
仕様で次のパラメーターを設定する必要があります。-
approvers
: パイプラインのブロックを解除するためにapprovalTask
を承認または拒否できるユーザー -
numberOfApprovalsRequired
: パイプラインのブロックを解除するために必要な承認の数 -
description
: (オプション) OpenShift Pipelines がユーザーに対して表示するapprovalTask
の説明
-
Manual Approval Gate は複数のユーザーからの承認をサポートします。
-
承認には、設定されたユーザーからの設定された最小数の承認が必要です。この数に達するまで、承認タスクは終了せず、その
approvalState
値はpending
のままになります。 -
承認者のいずれかが承認を拒否した場合、
ApprovalTask
コントローラーはタスクのapprovalState
をrejected
に変更し、パイプラインの実行が失敗します。 - 1 つのユーザーがタスクを承認したが、設定された承認数にまだ達していない場合は、同じユーザーがタスクを拒否するように変更できるようになっており、パイプラインの実行は失敗します。
-
承認には、設定されたユーザーからの設定された最小数の承認が必要です。この数に達するまで、承認タスクは終了せず、その
-
ユーザーは、
opc authorizationtask
CLI と OpenShift Web コンソールを使用して承認できます。OpenShift Web コンソールで承認するには、OpenShift Pipelines Web コンソールプラグインをインストールする必要があります。このプラグインには OpenShift Container Platform バージョン 4.15 以降が必要です。 -
ユーザーは、
approvalTask
を承認または拒否するときにメッセージを追加できます。 -
approvalTask
仕様にタイムアウト設定を追加できます。この期間内に必要な数の承認が行われない場合に、パイプラインの実行は失敗します。
manual approval gate はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
1.3.1.5. CLI
-
この更新により、
tkn
コマンドラインユーティリティーは、pipeline showlog
コマンドの-E
または--exit-with-pipelinerun-error
オプションをサポートするようになりました。このオプションを使用すると、コマンドラインユーティリティーは、パイプラインの実行が正常に完了した場合はエラーコード0
を返し、パイプラインの実行がエラーで終了した場合はエラーコード1
を返し、パイプラインの実行のステータスが不明な場合はエラーコード2
を返します。 -
この更新により、
tkn
コマンドラインユーティリティーは、bundle push
コマンドの--label
オプションをサポートするようになりました。このオプションを使用すると、ラベルの値を<label-name>=<value>
形式で指定できます。ユーティリティーは、作成する OCI イメージにラベルを追加します。このオプションを複数回使用して、同じイメージに複数のラベルを付けることができます。
1.3.1.6. Pipelines as Code
-
この更新により、Pipelines as Code を使用する場合、パイプライン実行に
pipelinesascode.tekton.dev/on-comment
アノテーションを設定して、開発者がプルリクエストに一致するコメントを追加したときにパイプライン実行を開始できるようになります。この設定はプルリクエストのみおよび、GitHub および GitLab リポジトリープロバイダーのみをサポートします。
コメントイベントをパイプライン実行に一致させる機能は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
この更新により、Pipelines as Code を使用する場合、プルリクエストに
/test <pipeline_run_name>
コメントを入力して、このパイプライン実行のイベントによってトリガーされたかどうかに関係なく、リポジトリーで Pipelines as Code パイプライン実行を開始できるようになりました。この機能は、テクノロジープレビュー機能です。 この更新により、Git リクエストコメントで Pipelines as Code に
/test
または/retest
コマンドを指定すると、パイプライン実行の標準またはカスタムパラメーターを設定できるようになりました。Git リクエストコメント内のコマンド例
/test pipelinerun1 revision=main param1="value1" param2="value \"value2\" with quotes"
このコマンドは、プルリクエストブランチではなく
main
ブランチでpipelinerun1
パイプラインを実行します。/test checker target_branch=backport-branch
このコマンドは、プルリクエストの
backport-branch
ブランチへのバックポート (cherry-pick) で実行されるchecker
パイプラインを実行します。-
この更新により、Pipelines as Code を使用する場合、OpenShift Pipelines がインストールされている namespace (通常は
openshift-pipelines
) にpipelines-as-code
という名前のグローバルRepository
CR を作成できるようになりました。この CR では、すべてのRepository
CR に適用される設定オプションを設定できます。特定のリポジトリーのRepository
CR で異なる値を設定し、これらのデフォルトオプションを上書きできます。
グローバルの Repository
CR はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
この更新により、Pipelines as Code は、パイプラインの実行をトリガーできるユーザーを決定する際に、
OWNERS
ファイルとOWNERS_ALIASES
ファイルの両方を処理します。ただし、OWNERS
ファイルにフィルター
セクションが含まれている場合、Pipelines as Code は approvers と reviewers を.*
フィルターに対してのみ照合します。 - この更新により、Pipelines as Code は GitHub 一時トークンを保存するためのランダムなシークレット名を生成するときに、追加のランダムな文字を 2 つ使用します。この変更により、シークレット名の競合の可能性が減少します。
- 今回の更新により、Pipelines as Code を使用して定義されたパイプライン実行によって YAML 検証エラーが発生すると、OpenShift Pipelines は、パイプライン実行が実行されるユーザー namespace のイベントログでエラーとパイプライン実行名、および OpenShift Pipelines コントローラーログを報告します。エラーレポートは、GitHub CheckRun ユーザーインターフェイスなどの Git リポジトリープロバイダーにも表示されます。この変更により、コントローラー namespace へのアクセス権がないユーザーがエラーメッセージにアクセスできます。
1.3.1.7. Tekton Results
Tekton Results は
UpdateLog
操作を使用して、ログ情報をデータベースに保存します。この更新では、TektonResult CR を使用してこの操作のタイムアウト値を指定できます。指定された時間内に操作が完了しない場合、Tekton Results は操作を終了します。仕様例
apiVersion: operator.tekton.dev/v1 kind: TektonResult metadata: name: result spec: options: deployments: tekton-results-watcher: spec: template: spec: containers: - name: watcher args: - "--updateLogTimeout=60s"
この更新では、Tekton Results を設定するときに、
TektonResult
CR のoptions.configMaps.tekton-results-api-config.data.config
セクションでオプションで次のデータベース設定を指定できます。-
DB_MAX_IDLE_CONNECTIONS
: データベースサーバーへのアイドル接続で開いたままにできる最大数。 -
DB_MAX_OPEN_CONNECTIONS
: データベースサーバーへの接続で開いたままにできる最大合計数。 -
GRPC_WORKER_POOL
: GRPC ワーカープールのサイズ -
K8S_QPS
: Kubernetes クライアントの QPS 設定 K8S_BURST
: Kubernetes クライアントのバースト QPS 設定この設定を使用する場合は、Tekton Results を設定するときに、次の表に示すように、他のいくつかの設定パラメーターに対して代替仕様も使用する必要があります。通常のパラメーター仕様と代替パラメーターの仕様の両方が
TektonResult
CR に含まれています。表1.2 Tekton Results の代替設定パラメーター 通常のパラメーター仕様 代替パラメーターの仕様 logs_api
options.configMaps.tekton-results-api-config.data.config.LOGS_API
log_level
options.configMaps.tekton-results-api-config.data.config.LOG_LEVEL
db_port
options.configMaps.tekton-results-api-config.data.config.DB_PORT
db_host
options.configMaps.tekton-results-api-config.data.config.DB_HOST
logs_path
options.configMaps.tekton-results-api-config.data.config.LOGS_PATH
logs_type
options.configMaps.tekton-results-api-config.data.config.LOGS_TYPE
logs_buffer_size
options.configMaps.tekton-results-api-config.data.config.LOGS_BUFFER_SIZE
auth_disable
options.configMaps.tekton-results-api-config.data.config.AUTH_DISABLE
db_enable_auto_migration
options.configMaps.tekton-results-api-config.data.config.DB_ENABLE_AUTO_MIGRATION
server_port
options.configMaps.tekton-results-api-config.data.config.SERVER_PORT
prometheus_port
options.configMaps.tekton-results-api-config.data.config.PROMETHEUS_PORT
gcs_bucket_name
options.configMaps.tekton-results-api-config.data.config.GCS_BUCKET_NAME
この表に記載されていない設定パラメーターについては、ドキュメントで説明されているように通常の仕様を使用してください。
重要TektonResult
CR のoptions.configMaps.tekton-results-api-config.data.config
セクションの追加設定を使用する必要がある場合のみ、代替パラメーター仕様を使用してください。
-
- この更新により、Tekton Results API を使用して、Tekton Results の Go プロファイリングデータを取得できるようになります。
- この更新の前は、Tekton Results はログデータのすべてのフラグメントを表示するときにユーザー認証をチェックしていました。この更新により、Tekton Results はログデータ要求ごとにユーザー認証を 1 回だけチェックするようになります。この変更により、コマンドラインユーティリティーを使用してログを表示するために使用される Tekton Results ログ API の応答時間が改善されます。
1.3.2. 互換性を失わせる変更点
- この更新により、Web コンソールでパイプラインとタスク実行の統計を表示し、Manual Approval Gate を使用するために必要な OpenShift Pipelines コンソールプラグインとして、OpenShift Container Platform バージョン 4.15 以降が必要になります。
-
この更新の前は、Pipelines as Code はパイプライン実行で
git-provider
、sender
、およびbranch
ラベルを設定していました。この更新により、Pipelines as Code はこれらのラベルを設定しなくなりました。代わりに、pipelinesascode.tekton.dev/git-provider
、pipelinesascode.tekton.dev/sender
、pipelinesascode.tekton.dev/branch
アノテーションが設定されます。 -
この更新により、OpenTelemetry トレースに
jaeger
エクスポーターを使用できなくなります。トレースにはoltptraceexporter
を使用できます。
1.3.3. 既知の問題
-
クラスターリゾルバーを使用して
openshift-pipelines
namespace から利用できる新しいskopeo-copy
タスクは、VERBOSE
パラメーターがfalse
(デフォルト設定) に設定されている場合は機能しません。回避策として、このタスクを使用する場合は、VERBOSE
パラメーターをtrue
に設定します。この問題は、skopeo-copy
ClusterTask
は対象ではありません。 -
クラスターリゾルバーを使用して
openshift-pipelines
namespace から利用できる新しいskopeo-copy
タスクは、image-registry.openshift-image-registry.svc:5000
などの OpenShift Container Platform 内部イメージリポジトリーにイメージをプッシュまたはプルするために使用すると失敗します。回避策として、DEST_TLS_VERIFY
またはSRC_TLS_VERIFY
パラメーターをfalse
に設定します。または、SSL 証明書が有効な外部イメージリポジトリーを使用します。この問題は、skopeo-copy
ClusterTask
は対象ではありません。 -
クラスターリゾルバーを使用して
openshift-pipelines
namespace から利用できる新しいs2i-*
タスクは、Git リポジトリーをsource
ワークスペースのサブディレクトリーにクローンしてから、タスクのCONTEXT
パラメーターを設定すると失敗します。回避策として、これらのタスクを使用するときは、CONTEXT
パラメーターを設定しないでください。この問題は、s2i-*
ClusterTasks
は対象ではありません。 -
クラスターリゾルバーを使用して
openshift-pipelines
namespace から利用できる新しいgit-clone
タスクでは、COMMIT
結果値は設定されません。この問題は、git-clone
ClusterTask
は対象ではありません。 -
OpenShift Container Platform バージョン 4.16 を使用している場合、
jib-maven
ClusterTask
は機能しません。 -
Pipelines as Code を使用しており、
openshift-pipelines
namespace のpipelines-as-code
という名前のグローバルRepository
CR にconcurrency_limit
仕様を設定すると、すべてのRepository
CR がデフォルト設定で指定され、Pipelines as Code ウォッチャーがクラッシュします。回避策として、この CR でこの仕様を設定しないでください。代わりに、作成する他のRepository
CR でconcurrency_limit
仕様を設定します。 -
Pipelines as Code を使用しており、
openshift-pipelines
namespace のpipelines-as-code
という名前のグローバルRepository
CR にsettings.pipelinerun_provenance
仕様を設定すると、すべてのRepository
CR がデフォルト設定で指定され、Pipelines as Code コントローラーがクラッシュします。回避策として、この CR でこの仕様を設定しないでください。代わりに、作成する他のリポジトリー
CR でsettings.pipelinerun_provenance
仕様を設定します。
1.3.4. 修正された問題
この更新の前は、
ClusterTask
リソースが繰り返し調整されていることに関するinfo
メッセージが多数 OpenShift Pipelines Operator ログに存在していました。この更新により、過剰な調整は発生しなくなり、メッセージが過剰に表示されなくなります。調整メッセージが引き続き表示される場合は、以前のバージョンの
ClusterTask
installerset
リソースを削除します。ただし、installerset
リソースを削除すると、パイプラインでこの指定されたバージョンのClusterTasks
を参照できなくなります。installerset
のリソースをリスト表示するには、次のコマンドを入力します。$ oc get tektoninstallersets
バージョン管理された
ClusterTask
インストーラーセット
リソースの名前はaddon-versioned-clustertasks-<version>-<unique_id>
です (例:addon-versioned-clustertasks-1.12-fblb8)
。以下のコマンドを実行して、
installerset
リソースを削除します。$ oc delete tektoninstallerset <installerset_name>
- この更新の前は、タスク実行またはパイプライン実行がサービスアカウントを参照し、このサービスアカウントが存在しないシークレットを参照した場合、タスク実行またはパイプライン実行は失敗していました。この更新により、タスク実行またはパイプライン実行は警告をログに記録して続行されます。
-
この更新の前は、タスクのステップ内で
StepAction
CR を参照すると、OpenShift Pipelines はステップのすべてのパラメーターをStepAction
CR に渡していました。この更新により、OpenShift Pipelines はStepAction
CR で定義されたパラメーターのみをステップアクションに渡します。 - この更新の前は、パイプライン内でタスクのパラメーターを 2 回定義すると、OpenShift Pipelines はエラーメッセージに定義への間違ったパスを記録していました。この更新により、エラーメッセージに正しいパスが含まれるようになりました。
-
この更新の前は、パイプラインの
finally:
句の下にタスクを指定し、このタスクのwhen:
句で式を使用し、この式で別のタスクのステータスを参照した場合 (例:'$(tasks.a-task.status)' == 'Succeeded'
)、この式は正しく評価されませんでした。この更新により、式が正しく評価されるようになりました。 - この更新の前は、タスク実行を指定するときに再試行回数を負の数に指定しても、OpenShift Pipelines でエラーが検出されませんでした。この更新により、OpenShift Pipelines はこのエラーを検出して報告します。
-
この更新の前は、パイプラインのタスク内で
pipelineRef:
セクションを使用して別のパイプラインを参照したり、パイプラインのタスク内でpipelineSpec:
セクションを使用して別のパイプラインを指定したりすると、OpenShift Pipelines コントローラーがクラッシュする可能性がありました。この更新により、クラッシュは発生しなくなり、正しいエラーメッセージが記録されます。パイプライン内でのpipelineRef:
およびpipelineSpec:
セクションの使用はサポートされていません。 -
この更新の前は、
workspace.<workspace_name>.volume
キーワードを使用してワークスペースを使用するようにタスクを設定し、その後にタスクが失敗して再試行されると、タスクの Pod の作成に失敗していました。この更新により、Pod が正常に作成されます。 -
この更新の前は、OpenShift Pipelines により、完了したパイプライン実行またはタスクの実行の完了後に、記録されたアノテーションが変更されることがありました。たとえば、
pipeline.tekton.dev/release
アノテーションはパイプラインのバージョン情報を記録し、パイプライン実行後にパイプラインバージョンが更新された場合に、このアノテーションは、実行されたバージョンではなく新規バージョンを反映するように変更できます。この更新により、アノテーションはパイプライン実行が完了したときのステータスを反映し、OpenShift Pipelines により、後でアノテーションが変更されなくなりました。 - この更新の前は、パイプライン実行で使用される YAML マニフェスト (タスクまたはパイプラインのマニフェストなど) に構文エラーがあった場合、ログに記録されたエラーメッセージが不明確であったり、エラーメッセージがログに記録されなかったりしていました。この更新により、ログに記録されるエラーメッセージに構文エラーが含まれるようになりました。
-
この更新の前は、ワークスペースを使用して提供された
.dockerconfigjson
ファイルを含むシークレットでbuildah
クラスタータスクを使用すると、/root/.docker
ディレクトリーが存在しなかったため、cp
コマンドの実行中にタスクが失敗していました。この更新により、タスクは正常に完了します。 -
この更新の前は、パイプライン実行がタイムアウトし、このパイプライン実行に含まれる
TaskRun
またはCustomRun
リソースが削除された場合に、パイプライン実行のタスク実行がブロックされ、完了しませんでした。この更新により、実行が正しく終了し、キャンセルされた状態がログに記録されます。 -
この更新の前は、リゾルバーを使用してリモートソースからタスクを組み込むときに、リゾルバーは結果の仕様に
Task
のkind
値を自動的に追加していました。この更新により、リゾルバーは仕様にkind
値を追加しなくなりました。 -
この更新の前は、
TektonConfig
CR のoptions:
セクションを使用して設定オプションを設定すると、これらのオプションが正しく適用されないことがありました。この更新により、オプションが正しく適用されます。 -
この更新の前は、
TektonConfig
CR でenable-api-fields
フィールドと他の特定のフィールドを設定した場合、OpenShift Pipelines の更新後に設定が失われていました。この更新により、更新中に設定が保持されるようになりました。 -
この更新の前は、
TektonConfig
CR のオプションセクションを使用して Horizontal Pod Autoscaler (HPA) を設定した場合に、既存の HPA は正しく更新されていましたが、必要なときに新しい HPA は作成されませんでした。この更新により、オプションセクションを使用した HPA 設定が正しく機能するようになりました。 -
この更新の前は、
TektonConfig
CR のtargetNamespace
フィールドを誤って変更し、サポートされていない設定を作成する可能性がありました。この更新により、このフィールドの変更が不可になりました。openshift-pipelines
からのターゲット namespace 名の変更はサポートされていません。 -
この更新の前は、
pipelines-scc-rolebinding
ロールバインディングがいずれかの namespace で欠落しているか削除されている場合に、OpenShift Pipelines Operator コントローラーは新しい namespace にデフォルトのリソースを正しく作成できませんでした。この更新により、コントローラーは正常に機能するようになりました。 -
この更新の前は、
EventListener
CR でtriggerGroup
を定義するときにnamespaceSelector
値を指定すると、イベントリスナーの namespace と同じでない場合、イベントリスナーは指定された namespace 内のトリガーにアクセスできませんでした。この更新により、イベントリスナーは指定された namespace 内のトリガーにアクセスできるようになります。 -
この更新の前は、
Content-Type
ヘッダーを含むEventListener
ルート URL にリクエストが送信された場合、このヘッダーはインターセプターに渡されませんでした。この更新により、ヘッダーがインターセプターに渡されるようになりました。 - この更新により、Tekton Results が応答しなくなる、クラッシュする、または大量のメモリを消費する可能性があるいくつかの問題が解消されました。
-
この更新の前は、Web コンソールの Pipeline details ページで、タスクに CEL を使用した
when
式が設定されている場合、情報が正しく表示されませんでした。この更新により、情報が正しく表示されるようになります。 - この更新の前は、Web コンソールの Pipeline details ページで、Web コンソールでダークモードを有効にするとメニューが表示されませんでした。この更新により、メニューが表示されるようになりました。
- この更新の前は、Web コンソールの Pipelines ページで、パイプラインの実行統計に関する情報に、Tekton Results に保存された情報が含まれていませんでした。この更新により、このページにすべてのパイプラインの実行中の統計情報が含まれるようになりました。
- この更新の前は、Web コンソールで namespace のタスクのリストを表示すると、別の namespace のタスクがリストに表示されることがありました。この更新により、Web コンソールは各 namespace のタスクを正しくリストするようになりました。
- この更新の前は、Web コンソールでタスク実行のリストを表示したときに、各タスク実行のステータスは表示されませんでした。この更新により、Web コンソールのタスク実行リストに各タスク実行のステータスが含まれるようになりました。
- この更新の前は、OpenShift Pipelines デプロイメントでクラスタータスクを無効にすると、Web コンソールの Pipeline Builder は機能しませんでした。この更新により、クラスタータスクを無効にすると、Web コンソールの Pipeline Builder が正しく動作するようになります。
-
この更新の前は、OpenShift Pipelines コンソールプラグイン Pod は、
nodeSelector
、tolerations
、およびpriorityClassName
設定を使用して指定されたノードに移動しませんでした。この更新により、OpenShift Pipelines プラグイン Pod が正しいノードに移動します。 - この更新の前は、同時実行制限が設定されていないパイプライン実行を処理するときに、Pipelines as Code ウォッチャーがクラッシュすることがありました。この更新により、これらのパイプライン実行が正しく処理されるようになりました。
-
この更新の前は、Pipelines as Code で、同時実行制限の設定が
0
であっても、同時実行制限が無効であると解釈されませんでした。この更新では、同時実行制限を0
に設定すると、同時実行制限が無効になります。 - この更新の前は、Pipelines でタスクのアノテーションとラベルをコードとして定義した場合、そのアノテーションとラベルはタスクを実行している Pod には設定されませんでした。この更新により、Pipelines as Code で、タスクを実行している Pod に設定されたアノテーションとラベルが正しく設定されます。
-
この更新の前は、Pipelines as Code が内部設定の
ConfigMap
リソースを頻繁に再読み込みするため、Kubernetes サービスに負荷がかかることがありました。この更新により、Pipelines as Code はConfigMap
リソースが変更された後にのみConfigMap
リソースを再読み込みするため、この読み込みは発生しなくなりました。 -
この更新の前は、Pipelines as Code を使用しているときに、
/test
や/retest
などのプルリクエストのコメントを削除すると、Pipelines as Code はコメント内のコマンドを再度実行していました。この更新により、Pipelines as Code はコメントを追加した場合にのみコマンドを実行します。 -
この更新の前は、Pipelines as Code を使用しているときに、プルリクエストの一部のパイプライン実行が失敗し、新しいコミットをプッシュせずに
/test
または/retest
コマンドの後に正常に再実行された場合、GitHub などの Git プロバイダーのユーザーインターフェイスには、以前の失敗結果と新しい結果が表示されていました。この更新により、最新のステータスが表示されます。 -
この更新の前は、
tkn pr logs -f
コマンドを使用して実行中のパイプラインのログを表示すると、パイプラインの実行が正常に完了した場合でも、コマンドラインユーティリティーが応答しなくなりました。この更新により、tkn pr logs -f
コマンドはログ情報を適切に表示して終了します。
1.3.5. Red Hat OpenShift Pipelines 一般提供 1.15.1 のリリースノート
この更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.15.1 が OpenShift Container Platform 4.14 以降のバージョンで利用できるようになります。
1.3.5.1. 新機能
-
この更新の前は、
TektonConfig
CR のchain.artifacts.pipelinerun.enable-deep-inspection
仕様はbool
値型のみをサポートしていました。この更新により、chain.artifacts.pipelinerun.enable-deep-inspection
仕様はbool
値タイプとstring
値タイプの両方をサポートするようになりました。
1.3.5.2. 修正された問題
-
この更新の前は、
openshift-pipelines
namespace から利用できるgit-clone
タスクを使用した場合、このタスクはCOMMIT
結果を返しませんでした。この更新により、タスクのCOMMIT
結果で正しい値が返されます。 -
この更新の前は、リゾルバーを使用してパイプラインまたはタスクに
StepAction
リソースを含めると、パイプラインまたはタスクが失敗し、extra params passed by Step to StepAction
エラーメッセージがログに記録されていました。この更新により、パイプラインまたはタスクが正常に完了します。 - この更新の前は、OpenShift Pipelines プラグインを有効にし、Web コンソールでパイプラインの詳細ページを表示し、メニューから Edit Pipeline を選択すると、コンソールにパイプラインの YAML 仕様が表示されていました。この更新により、コンソールに Pipeline Builder ページが表示されます。
-
この更新の前の OpenShift Pipelines バージョン 1.15.0 では、プルリクエストにコメントを追加すると、Pipelines as Code はコメントの内容に応じて、
retest-comment
やon-comment
などのイベントタイプを設定していました。この更新により、プルリクエストコメントの後のイベントタイプが、OpenShift Pipelines バージョン 1.14 以前と同様に、常にpull_request
になります。