1.3. Red Hat OpenShift Pipelines 正式发布 1.15 发行注记
在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.15 包括在 OpenShift Container Platform 4.14 及更新的版本中。
1.3.1. 新功能
除了包括修复和稳定性改进的信息外,以下小节突出介绍了 Red Hat 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)
- 在此次更新之前,当使用解析器包含来自远程源的任务或管道时,如果其中一个参数预期需要明确指定参数类型的数组。在这个版本中,当使用解析器包含远程源中的任务或管道时,您不必设置任何参数的类型。
在这个版本中,当在管道运行或任务运行中指定工作区时,您可以使用
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 无法拉取执行任务所需的容器镜像时,任务会失败。在这个版本中,您可以配置镜像拉取 backoff 超时。如果配置此超时,当 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
字段使用以下值:-
完成
: 步骤成功完成,步骤中调用的任何命令都以退出代码 0。 -
持续
: 执行步骤时出现错误,例如命令返回非零退出代码,但步骤继续执行,因为onError
值设置为continue
。有关错误的详情,请查看日志输出。 -
错误
:执行步骤时出现错误,例如命令返回非零退出代码,且这个错误会导致步骤失败。有关错误的详情,请查看日志输出。 -
TimeoutExceeded
:步骤的执行超时。有关超时的详情,请查看日志输出。 -
跳过
:步骤被跳过,因为上一步失败。 -
TaskRunCancelled
: 任务运行被取消。
-
-
在这个版本中,您可以使用
TektonConfig
CR 中的pipeline.disable-inline-spec
spec 来禁用PipelineRun
CR 中指定的管道和任务,在Pipeline
CR 中指定任务,或者在TaskRun
CR 中指定任务。如果使用这个选项,则必须使用pipelineRef:
规格引用管道,并使用taskRef:
规格引用任务。 -
在这个版本中,OpenShift Pipelines 的 Prometheus 监控的一些指标被重命名为确保符合 Prometheus 命名规则。量表和计数器指标名称不再以
计数
结尾。
1.3.1.2. Operator
在这个版本中,在
resolverTasks
附加组件的openshift-pipelines
命名空间中增加了几个任务。您可以使用集群解析器将这些任务合并到管道中。大多数任务以前作为集群任务(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
spec。如果因为任何原因删除与管道运行关联的旧资源的修剪器作业,并且不会因为任何原因在调度时启动任务,则此设置配置最大时间(以秒为单位),以秒为单位。如果作业没有在指定时间内启动,OpenShift Pipelines 会考虑这个作业失败,并在下一次调度的时间启动修剪器。 -
在这个版本中,您可以使用
TektonConfig
CR 中的targetNamespaceMetadata
spec 为 Operator 安装 OpenShift Pipelines 的openshift-pipelines
命名空间设置标签和注解。 - 在这个版本中,OpenShift Pipelines Operator 的错误消息包括额外的上下文信息,如命名空间。
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 中使用serviceType
值LoadBalancer
,您可以选择在serviceLoadBalancerClass
字段中指定负载均衡器类。如果您的集群提供多个负载均衡器控制器,您可以使用负载均衡器类来选择这些控制器之一。有关设置负载均衡器类的更多信息,请参阅 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)控制器。您可以使用此控制器在管道中添加手动批准点,以便管道在该点停止并等待手动批准,然后再继续执行。要使用此功能,请在管道中指定一个 ApprovalTask
,其方式与指定 任务
类似。用户可以使用 Web 控制台或使用 opc
命令行工具提供批准。
Manual Approval Gate 控制器包括以下功能:
您必须在
ApprovalTask
规格中设置以下参数:-
approvers
:可以批准或拒绝approvalTask
以取消阻塞管道的用户 -
numberOfApprovalsRequired
: 取消阻止管道所需的批准数量 -
描述
:(可选)OpenShift Pipelines 向用户显示的approvalTask
的 Description
-
手动批准批准支持多个用户的批准:
-
批准需要配置的用户的最小批准数。在达到这个数字前,批准任务不会完成,其
approvalState
值仍为pending
。 -
如果有任何批准人拒绝批准,则
ApprovalTask
控制器会将任务的approvalState
更改为rejected
,管道运行失败。 - 如果一个用户批准了该任务,但配置的批准数量仍未达到,则同一用户可以更改为拒绝任务,管道运行会失败。
-
批准需要配置的用户的最小批准数。在达到这个数字前,批准任务不会完成,其
-
用户可以使用
opc approvaltask
CLI 和 OpenShift Web 控制台提供批准。在 OpenShift Web 控制台中批准需要安装 OpenShift Pipelines web 控制台插件。此插件需要 OpenShift Container Platform 版本 4.15 或更高版本。 -
用户可以在批准或拒绝
approvalTask
时添加消息。 -
您可以在
approvalTask
规格中添加 timeout 设置。如果在此时间段内没有提供所需的批准数量,管道运行会失败。
手动批准是技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
1.3.1.5. CLI
-
在这个版本中,
tkn
命令行工具支持pipeline showlog
命令的-E
or--exit-with-pipelinerun-error
选项。使用此选项时,如果管道运行成功完成,则命令行实用程序会返回一个错误代码0,
如果管道运行以错误结尾,则为2
,如果管道运行的状态为 unknown,则为 2。 -
在这个版本中,
tkn
命令行工具支持bundle push
命令的-label
选项。使用这个选项,您可以以 <label-name>=<value
> 格式提供标签值;实用程序会将标签添加到它所创建的 OCI 镜像。您可以多次使用这个选项为同一镜像提供多个标签。
1.3.1.6. Pipelines 作为代码(Pipelines as Code)
-
在这个版本中,当使用 Pipelines as Code 时,您可以在管道运行上设置
pipelinesascode.tekton.dev/on-comment
注解,以便在开发人员向拉取请求添加匹配注释时启动管道运行。此设置只支持拉取请求,仅适用于 GitHub 和 GitLab 存储库提供程序。
将注释事件与管道运行匹配只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
-
在这个版本中,当使用 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)上运行检查程序
管道。-
在这个版本中,在使用 Pipelines as Code 时,您可以在安装 OpenShift Pipelines 的命名空间中创建一个名为
pipelines-as-code
的全局Repository
CR,通常是openshift-pipelines
。在这个 CR 中,您可以设置适用于所有Repository
CR 的配置选项。您可以通过在Repository
CR 中为特定存储库设置不同的值来覆盖这些默认选项。
全局 Repository
CR 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
-
在这个版本中,Pipelines as Code 会在决定哪些用户可以触发管道运行时处理
OWNERS
和OWNERS_ALIASES
文件。但是,如果OWNERS
文件包含一个filters
部分,Pipelines as Code 会匹配 approvers,并使用 reviewers 只适用于198.51.100.0/24
过滤器。 - 在这个版本中,当 Pipelines as Code 生成用于存储 GitHub 临时令牌的随机 secret 名称时,它会使用两个额外的随机字符。这个变化减少了 secret 名称冲突的可能性。
- 在这个版本中,当使用 Pipelines as Code 定义的管道运行会导致 YAML 验证错误,OpenShift Pipelines 会在管道运行的用户命名空间中报告错误和管道运行名称,以及 OpenShift Pipelines 控制器日志中。错误报告也显示在 Git 存储库提供程序中,例如在 GitHub CheckRun 用户界面中。在这个版本中,无法访问控制器命名空间的用户可以访问错误消息。
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 结果时,您可以选择在
TektonResult
CR 的options.configMaps.tekton-results-api-config.data.config
部分中指定以下数据库配置设置:-
DB_MAX_IDLE_CONNECTIONS
:到可以保持打开的数据库服务器的最大闲置连接数 -
DB_MAX_OPEN_CONNECTIONS
:与数据库服务器的最大连接总数 -
GRPC_WORKER_POOL
: GRPC worker 池的大小 -
K8S_QPS
:Kubernetes 客户端 QPS 设置 K8S_BURST
: Kubernetes 客户端突发 QPS 设置如果要使用此设置,在配置 Tekton Results 时,还必须对几个其他配置参数使用备用 specs,如下表所示。常规和备用参数 specs 都位于
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
部分中的附加设置时,才使用备用参数 specs。
-
- 在这个版本中,您可以使用 Tekton Results API 检索 Tekton Results 的 Go 分析数据。
- 在此次更新之前,Tekton Results 在显示每个日志数据片段时检查用户身份验证。在这个版本中,Tekton Results 会对每个日志数据请求只检查一次用户身份验证。这个更改改进了 Tekton Results 日志 API 的响应时间,用于使用命令行工具显示日志。
1.3.2. 可能会造成问题的更改
- 在这个版本中,OpenShift Pipelines 控制台插件是在 web 控制台中查看管道和任务执行统计所需的 OpenShift Pipelines 控制台插件,并使用手动批准,需要 OpenShift Container Platform 版本 4.15 或更高版本。
-
在此次更新之前,Pipelines as Code 在管道运行中设置
git-provider
、发送
者和分支
标签。在这个版本中,Pipelines as Code 不再设置这些标签,Instead,它会设置pipelinesascode.tekton.dev/git-provider
,pipelinesascode.tekton.dev/sender
, 和pipelinesascode.tekton.dev/branch
注解。 -
在这个版本中,您无法使用
jaeger
exporter 进行 OpenTelemetry 追踪。您可以使用oltptraceexporter
进行追踪。
1.3.3. 已知问题
-
当使用集群解析器从
openshift-pipelines
命名空间中获取新的skopeo-copy
任务时,当VERBOSE
参数设置为false
时,它无法正常工作。作为临时解决方案,当您使用此任务时,请将VERBOSE
参数设置为true
。此问题不适用于skopeo-copy
ClusterTask
。 -
当使用集群解析器从
openshift-pipelines
命名空间中获取新的skopeo-copy
任务时,当使用它向 OpenShift Container Platform 内部镜像存储库推送或拉取镜像时,会失败,如image-registry.openshift-image-registry.svc:5000
。作为临时解决方案,请将DEST_TLS_VERIFY
或SRC_TLS_VERIFY
参数设置为false
。或者,使用具有有效 SSL 证书的外部镜像存储库。此问题不适用于skopeo-copy
ClusterTask
。 -
使用集群解析器从
openshift-pipelines
命名空间中提供新的s2i
fluentd 任务,如果您将 Git 协调克隆到源
工作区的子目录,然后设置任务的CONTEXT
参数,则会失败。作为临时解决方案,当使用这些任务时,不要设置CONTEXT
参数。此问题不适用于s2i="">>
ClusterTasks
。 -
新的
git-clone
任务(通过使用集群解析器从openshift-pipelines
命名空间中获得)不会设置COMMIT
结果值。此问题不适用于git-clone
ClusterTask
。 -
如果您使用 OpenShift Container Platform 版本 4.16,
jib-maven
ClusterTask
无法正常工作。 -
使用 Pipelines as Code 时,如果您在
openshift-pipelines
命名空间中名为pipelines-as-code
的全局Repository
CR 中设置concurrency_limit
spec,它会为所有Repository
CR 提供默认设置,Pipelines as Code watcher 会崩溃。作为临时解决方案,请不要在这个 CR 中设置此 spec。反之,在您创建的其他Repository
CR 中设置concurrency_limit
spec。 -
使用 Pipelines as Code 时,如果您在
openshift-pipelines
命名空间中名为pipelines-as-code
的全局Repository
CR 中设置settings.pipelinerun_provenance
spec,它会为所有Repository
CR 提供默认设置,Pipelines as Code 控制器会崩溃。作为临时解决方案,请不要在这个 CR 中设置此 spec。相反,请在您创建的其他Repository
CR 中设置settings.pipelinerun_provenance
spec。
1.3.4. 修复的问题
在此次更新之前,OpenShift Pipelines Operator 日志中存在有关重复协调的
ClusterTask
资源的许多info
信息。在这个版本中,过量协调不再发生,且不会出现过量的信息。如果协调信息仍然存在,请删除
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>
- 在此次更新之前,如果任务运行或管道运行引用服务帐户,并且此服务帐户引用不存在的 secret,则任务运行或管道运行会失败。在这个版本中,任务运行或管道运行会记录警告并继续。
-
在此次更新之前,当您在任务步骤中引用
StepAction
CR 时,OpenShift Pipelines 会将步骤的所有参数传递给StepAction
CR。在这个版本中,OpenShift Pipelines 只将StepAction
CR 中定义的参数传递给步骤操作。 - 在此次更新之前,如果您在管道中定义了任务的参数两次,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 清单(例如,任务或管道的清单)有语法错误,则日志记录错误消息是不特定于的,或者没有记录错误消息。在这个版本中,日志记录的错误消息包含语法错误。
-
在此次更新之前,当将
buildah
集群任务与使用工作区提供的.dockerconfigjson
文件的 secret 搭配使用时,任务会在cp
命令过程中失败,因为/root/.docker
目录不存在。在这个版本中,任务可以成功完成。 -
在此次更新之前,如果管道运行超时,并且删除了此管道运行的
TaskRun
或CustomRun
资源,则管道运行执行会被阻断且永远不会完成。在这个版本中,执行正确终止,记录已取消的状态。 -
在此次更新之前,当使用解析器包含远程源中的任务时,解析器会自动将
Task
的kind
值添加到生成的规格中。在这个版本中,解析器不会为规格添加kind
值。 -
在此次更新之前,当使用
TektonConfig
CR 中的options:
部分设置配置选项时,这些选项有时无法正确应用。在这个版本中,这些选项会被正确应用。 -
在此次更新之前,如果您设置
TektonConfig
CR 中的enable-api-fields
字段和某些其他字段,则设置会在任何 OpenShift Pipelines 更新后丢失。在这个版本中,设置会在更新过程中保留。 -
在此次更新之前,如果您使用
TektonConfig
CR 中的 options 部分配置 pod 横向自动扩展(HPA),则任何现有 HPA 会被正确更新,但在需要时不会创建新的 HPA。在这个版本中,使用 options 部分的 HPA 配置可以正常工作。 -
在此次更新之前,您可能会错误地更改
TektonConfig
CR 中的targetNamespace
字段,从而创建一个不支持的配置。在这个版本中,您无法更改此字段。不支持从openshift-pipelines
更改目标命名空间名称。 -
在此次更新之前,如果任何命名空间中缺少或删除
pipelines-scc-rolebinding
rolebinding,OpenShift Pipelines Operator 控制器无法正确在新命名空间中创建默认资源。在这个版本中,控制器可以正常工作。 -
在此次更新之前,当在
EventListener
CR 中定义triggerGroup
时指定namespaceSelector
值时,如果事件监听程序与事件监听器的命名空间不同,则事件监听程序无法访问指定命名空间中的触发器。在这个版本中,事件监听程序可以访问指定命名空间中的触发器。 -
在此次更新之前,当请求发送到带有
Content-Type
标头的EventListener
路由 URL 时,这个标头不会被传递给拦截器。在这个版本中,标头被传递给拦截器。 - 在这个版本中,一些潜在的原因会导致 Tekton Results 变得无响应、崩溃或消耗大量内存。
-
在此次更新之前,在 web 控制台的 Pipeline 详情 页面中,如果为任务配置了使用 CEL 的
when
表达式,则不会正确显示信息。在这个版本中,信息会被正确显示。 - 在此次更新之前,在 web 控制台的 Pipeline 详情页面中,当您在 web 控制台中启用 dark 模式时,菜单不可见。在这个版本中,菜单可见。
- 在此次更新之前,在 web 控制台的 Pipelines 页面中,有关运行管道统计信息的信息不包括在 Tekton Results 中保存的信息。在这个版本中,该页面包括每个管道的所有可用运行统计信息。
- 在此次更新之前,当您在 web 控制台中查看一个命名空间的任务列表时,来自另一个命名空间中的任务有时会显示在列表中。在这个版本中,Web 控制台可以正确地列出每个命名空间的任务。
- 在此次更新之前,当您查看在 web 控制台中运行的任务列表时,不会显示每个任务运行的状态。在这个版本中,在 web 控制台中运行的任务列表包括每个任务运行的状态。
- 在此次更新之前,如果您在 OpenShift Pipelines 部署中禁用了集群任务,Web 控制台中的 Pipeline Builder 无法正常工作。在这个版本中,如果您禁用集群任务,Web 控制台中的 Pipeline Builder 可以正常工作。
-
在此次更新之前,OpenShift Pipelines 控制台插件 pod 不会移到使用
nodeSelector
,tolerations
, 和priorityClassName
设置指定的节点。在这个版本中,OpenShift Pipelines 插件 pod 移到正确的节点。 - 在此次更新之前,当处理未设定并发限制的管道运行时,Pipelines as Code watcher 有时会崩溃。在这个版本中,这些管道运行会被正确处理。
-
在此次更新之前,在 Pipelines as Code 中,并发限制设置
0
不会被解释为禁用并发限制。在这个版本中,并发限制设置0
可禁用并发限制。 - 在此次更新之前,当您为 Pipelines as Code 中的任务定义注解和标签时,在运行任务的 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
命令没有推送新提交后成功完成,Git 供应商的用户界面(如 GitHub)会显示以前的失败结果以及新的结果。在这个版本中,会显示 up-to-date 状态。 -
在此次更新之前,当使用
tkn pr logs -f
命令查看正在运行的管道的日志时,命令行工具会停止响应,即使管道运行成功完成。在这个版本中,tkn pr logs -f
命令可以正确地显示日志信息并退出。
1.3.5. Red Hat OpenShift Pipelines 正式发布 1.15.1 发行注记
在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.15.1 包括在 OpenShift Container Platform 4.14 及更新的版本中。
1.3.5.1. 新功能
-
在此次更新之前,在
TektonConfig
CR 中,chain.artifacts.pipelinerun.enable-deep-inspection
spec 仅支持bool
值类型。在这个版本中,chain.artifacts.pipelinerun.enable-deep-inspection
spec 支持bool
和string
"true"
和"false
"。
1.3.5.2. 修复的问题
-
在此次更新之前,当您使用
openshift-pipelines
命名空间中提供的git-clone
任务时,此任务不会返回COMMIT
结果。在这个版本中,任务返回COMMIT
结果中的正确值。 -
在此次更新之前,当使用解析器在管道或任务中包含
StepAction
资源时,管道或任务会失败,以及Step to Step to StepAction 错误消息传递的额外 params
。在这个版本中,管道或任务可以正确完成。 - 在此次更新之前,当启用 OpenShift Pipelines 插件时,在 web 控制台中查看管道的详情页面,以及从菜单中选择 Edit Pipeline,控制台会显示管道的 YAML 规格。在这个版本中,控制台会显示 Pipeline Builder 页面。
-
在此次更新之前,在 OpenShift Pipelines 版本 1.15.0 中,当您对拉取请求添加注释时,Pipelines as Code 根据注释内容设置事件类型,如
retest-comment
或on-comment
。在这个版本中,拉取请求注释后的事件类型始终为pull_request
,类似于 OpenShift Pipelines 版本 1.14 及更早版本。
1.3.6. Red Hat OpenShift Pipelines 正式发布 1.15.2 发行注记
在这个版本中,Red Hat OpenShift Pipelines 正式发行(GA) 1.15.2 包括在 OpenShift Container Platform 4.14 及更新的版本中。
1.3.6.1. 修复的问题
-
在此次更新之前,当您将参数值传递给管道或任务,并且值包含完整和简短参考格式的多个变量时,例如
$(tasks.task-name.results.variable1)+ $(variable2)
,OpenShift Pipelines 没有正确解释值。管道运行或任务运行可能会停止执行,Pipelines 控制器可能会崩溃。在这个版本中,OpenShift Pipelines 会正确解释值,管道运行或任务运行完成。 - 在此次更新之前,在 web 控制台中,通过创建时间对管道运行和任务运行进行排序无法工作。按上次运行时间对管道进行排序也无法正常工作。在这个版本中,排序可以正常工作。
- 在此次更新之前,在 web 控制台中,如果启用了 OpenShift Pipelines 控制台插件,在启动管道时,您无法为卷声明模板选择存储类,因为 VolumeClaimTemplate 选项中没有 StorageClass 列表。在这个版本中,您可以为卷声明模板选择存储类。
- 在此次更新之前,如果您使用 Pipelines 作为代码,管道运行列表不会在 web 控制台的 Repository details 页面中正确显示。在这个版本中,管道运行列表会被正确显示。