搜索

3.5. OpenShift Pipelines 命名空间中提供的任务

download PDF

OpenShift Pipelines 安装包括一组可以在管道中使用的标准任务。这些任务位于 OpenShift Pipelines 安装命名空间中,通常是 openshift-pipelines 命名空间。您可以使用集群解析器访问任务。

从 OpenShift Pipelines 1.10 开始,ClusterTask 功能已弃用,并计划在以后的发行版本中删除。如果您的管道使用 ClusterTasks,您可以使用集群解析器使用 OpenShift Pipelines 安装命名空间中可用的任务重新创建它们。但是,与现有的 ClusterTasks 相比,这些任务中进行了某些更改。

您无法在 OpenShift Pipelines 安装命名空间中任何可用的任务中指定自定义执行镜像。这些任务不支持 BUILDER_IMAGEgitInitImageKN_IMAGE 等参数。如果要使用自定义执行镜像,请创建任务副本并通过编辑副本来替换镜像。

buildah

buildah 任务将源代码树构建到容器镜像中,然后将镜像推送到容器 registry。

buildah 任务的使用示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-and-deploy
spec:
# ...
  tasks:
# ...
  - name: build-image
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: buildah
      - name: namespace
        value: openshift-pipelines
    params:
    - name: IMAGE
      value: $(params.IMAGE)
    workspaces:
    - name: source
      workspace: shared-workspace
# ...

表 3.5. buildah 任务支持的参数
参数描述类型默认值

IMAGE

Buildah 要构建的完全限定容器镜像名称。

string

 

DOCKERFILE

相对于源工作区的 Dockerfile (或 Containerfile的路径

string

./Dockerfile

CONTEXT

用作上下文的目录的路径。

string

.

STORAGE_DRIVER

设置 Buildah 存储驱动程序,以反映当前集群节点设置的设置。

string

vfs

格式

要构建的容器的格式,可以是 ocidocker

string

oci

BUILD_EXTRA_ARGS

构建镜像时,build 命令的额外参数。

string

 

PUSH_EXTRA_ARGS

推送镜像时,push 命令的额外参数。

string

 

SKIP_PUSH

跳过将镜像推送到容器 registry。

string

false

TLS_VERIFY

TLS 验证标志,通常为 true

string

true

详细

打开详细日志记录 ; 执行的所有命令都添加到日志中。

string

false

表 3.6. buildah 任务支持的工作区
Workspace描述

source

容器构建上下文,通常是包含 DockerfileContainerfile 文件的应用源代码。

dockerconfig

一个可选的工作区,用于提供 Buildah 用于访问容器 registry 的 .docker/config.json 文件。将文件放在工作区的根目录中,名称为 config.json.dockerconfigjson

rhel-entitlement

一个可选的工作区,用于提供 Buildah 用来访问 Red Hat Enterprise Linux (RHEL)订阅的权利密钥。挂载的工作区必须包含 authorization .pementitlement-key.pem 文件。

表 3.7. buildah 任务返回的结果
结果类型描述

IMAGE_URL

string

构建的镜像的完全限定名称。

IMAGE_DIGEST

string

构建的镜像摘要。

buildah ClusterTask的更改

  • 添加了 VERBOSE 参数。
  • BUILDER_IMAGE 参数已被删除。

git-cli

git-cli 任务运行 git 命令行工具。您可以使用 GIT_SCRIPT 参数传递完整的 Git 命令或几个命令来运行。如果命令需要向 Git 存储库进行身份验证,例如要完成推送,您必须提供身份验证凭据。

git-cli 任务的用法示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: update-repo
spec:
# ...
  tasks:
# ...
  - name: push-to-repo
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: git-cli
      - name: namespace
        value: openshift-pipelines
    params:
    - name: GIT_SCRIPT
      value: "git push"
    - name: GIT_USER_NAME
      value: "Example Developer"
    - name: GIT_USER_EMAIL
      value: "developer@example.com"
    workspaces:
    - name: ssh-directory
      workspace: ssh-workspace 1
    - name: source
      workspace: shared-workspace
# ...

1
在本例中,ssh-workspace 必须包含 .ssh 目录的内容,其具有对 Git 存储库授权的有效密钥。
表 3.8. git-cli 任务支持的参数
参数描述类型默认值

CRT_FILENAME

ssl-ca-directory 工作区中的证书颁发机构(CA)捆绑包文件名。

string

ca-bundle.crt

HTTP_PROXY

HTTP 代理服务器(非 TLS 请求)。

string

 

HTTPS_PROXY

HTTPS 代理服务器(TLS 请求)。

string

 

NO_PROXY

选择不使用代理 HTTP/HTTPS 请求。

string

 

子目录

git 存储库存在 的源 工作区的相对路径。

string

 

USER_HOME

pod 中 Git 用户主目录的绝对路径。

string

/home/git

DELETE_EXISTING

在完成 git 操作前,删除 工作区的任何现有内容。

string

true

详细

记录所有已执行的命令。

string

false

SSL_VERIFY

全局 http.sslVerify 值。除非信任远程存储库,否则请不要使用 false

string

true

GIT_USER_NAME

用于执行 Git 操作的 Git 用户名。

string

 

GIT_USER_EMAIL

用于执行 Git 操作的 Git 用户电子邮件。

string

 

GIT_SCRIPT

要运行的 Git 脚本。

string

Git 帮助

表 3.9. git-cli 任务支持的工作区
Workspace描述

ssh-directory

根据需要,带有私钥、known_hosts、配置 及其他文件的 .ssh 目录。如果提供此工作区,任务会使用它来对 Git 存储库进行身份验证。将此工作区绑定到 Secret 资源,以安全存储身份验证信息。

basic-auth

包含 .gitconfig.git-credentials 文件的工作区。如果提供此工作区,任务会使用它来对 Git 存储库进行身份验证。尽可能使用 ssh-directory 工作区进行身份验证,而不是 basic-auth。将此工作区绑定到 Secret 资源,以安全存储身份验证信息。

ssl-ca-directory

包含 CA 证书的工作区。如果您提供此工作区,Git 将使用这些证书在与使用 HTTPS 与远程存储库交互时验证对等证书。

source

包含获取的 Git 存储库的工作区。

输入

包含需要添加到 Git 存储库中的文件的可选工作区。您可以使用 $(workspaces.input.path) 从脚本访问工作区,例如:

cp $(workspaces.input.path)/<file_that_i_want> .
git add <file_that_i_want>

表 3.10. git-cli 任务返回的结果
结果类型描述

COMMIT

string

位于克隆的 Git 存储库中的当前分支 HEAD 的 SHA 摘要。

git-cli ClusterTask中的更改

  • 添加了几个新参数。
  • BASE_IMAGE 参数已被删除。
  • 添加了 ssl-ca-directory 工作区。
  • USER_HOMEVERBOSE 参数的默认值已更改。
  • 结果的名称从 提交 改为 COMMIT

git-clone

git-clone 任务使用 Git 在工作区上初始化并克隆远程存储库。您可以在构建或以其他方式处理此源代码的管道的开头使用此任务。

git-clone 任务的用法示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-source
spec:
# ...
  tasks:
  - name: clone-repo
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: git-clone
      - name: namespace
        value: openshift-pipelines
    params:
    - name: URL
      value: "https://github.com/example/repo.git"
    workspaces:
    - name: output
      workspace: shared-workspace

表 3.11. git-clone 任务支持的参数
参数描述类型默认值

CRT_FILENAME

ssl-ca-directory 工作区中的证书颁发机构(CA)捆绑包文件名。

string

ca-bundle.crt

HTTP_PROXY

HTTP 代理服务器(非 TLS 请求)。

string

 

HTTPS_PROXY

HTTPS 代理服务器(TLS 请求)。

string

 

NO_PROXY

选择不使用代理 HTTP/HTTPS 请求。

string

 

子目录

任务放置 Git 存储库 的输出 工作区中的相对路径。

string

 

USER_HOME

pod 中 Git 用户主目录的绝对路径。

string

/home/git

DELETE_EXISTING

在运行 Git 操作前,删除默认工作区的内容(如果存在)。

string

true

详细

记录已执行的命令。

string

false

SSL_VERIFY

全局 http.sslVerify 值。除非信任远程存储库,否则不要将此参数设置为 false

string

true

URL

Git 存储库 URL。

string

 

修订

要签出的修订版本,如分支或标签。

string

main

REFSPEC

任务在签出修订版本前获取的存储库的 refspec 字符串。

string

 

子模块

初始化并获取 Git 子模块。

string

true

DEPTH

要抓取的提交数,"允许克隆"是一个提交。

string

1

SPARSE_CHECKOUT_DIRECTORIES

执行"稀疏签出"的目录模式列表,用逗号分开。

string

 
表 3.12. git-clone 任务支持的工作区
Workspace描述

ssh-directory

根据需要,带有私钥、known_hosts、配置 及其他文件的 .ssh 目录。如果提供此工作区,任务会使用它来对 Git 存储库进行身份验证。将此工作区绑定到 Secret 资源,以安全存储身份验证信息。

basic-auth

包含 .gitconfig.git-credentials 文件的工作区。如果提供此工作区,任务会使用它来对 Git 存储库进行身份验证。尽可能使用 ssh-directory 工作区进行身份验证,而不是 basic-auth。将此工作区绑定到 Secret 资源,以安全存储身份验证信息。

ssl-ca-directory

包含 CA 证书的工作区。如果您提供此工作区,Git 将使用这些证书在与使用 HTTPS 与远程存储库交互时验证对等证书。

output

包含获取的 git 存储库的工作区,数据将放在工作区的根目录或由 SUBDIRECTORY 参数定义的相对路径中。

表 3.13. git-clone 任务返回的结果
结果类型描述

COMMIT

string

位于克隆的 Git 存储库中的当前分支 HEAD 的 SHA 摘要。

URL

string

克隆的存储库的 URL。

COMMITTER_DATE

string

克隆的 Git 存储库中的当前分支的 HEAD 的 epoch 时间戳。

git-clone ClusterTask的更改

  • 所有参数名称都改为大写。
  • 所有结果名称都改为大写。
  • gitInitImage 参数已被删除。

kn

kn 任务使用 kn 命令行工具在 Knative 资源上完成操作,如服务、修订或路由。

kn 任务使用示例

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
 name: kn-run
spec:
 pipelineSpec:
   tasks:
   - name: kn-run
     taskRef:
       resolver: cluster
       params:
       - name: kind
         value: task
       - name: name
         value: kn
       - name: namespace
         value: openshift-pipelines
     params:
     - name: ARGS
       value: [version]

表 3.14. kn 任务支持的参数
参数描述类型默认值

ARGS

kn 工具的参数。

数组

- help

kn ClusterTask的更改

  • KN_IMAGE 参数已被删除。

kn-apply

kn-apply 任务将指定的镜像部署到 Knative Service。此任务使用 kn service apply 命令来创建或更新指定的 Knative 服务。

使用 kn-apply 任务的示例

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
 name: kn-apply-run
spec:
 pipelineSpec:
   tasks:
   - name: kn-apply-run
     taskRef:
       resolver: cluster
       params:
       - name: kind
         value: task
       - name: name
         value: kn-apply
       - name: namespace
         value: openshift-pipelines
     params:
     - name: SERVICE
       value: "hello"
     - name: IMAGE
       value: "gcr.io/knative-samples/helloworld-go:latest"

表 3.15. kn-apply 任务支持的参数
参数描述类型默认值

SERVICE

Knative 服务名称。

string

 

IMAGE

要部署的镜像的完全限定名称。

string

 

来自 kn-apply ClusterTask的更改

  • KN_IMAGE 参数已被删除。

maven

maven 任务运行 Maven 构建。

使用 maven 任务的示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-and-deploy
spec:
# ...
  tasks:
# ...
  - name: build-from-source
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: maven
      - name: namespace
        value: openshift-pipelines
    workspaces:
    - name: source
      workspace: shared-workspace
# ...

表 3.16. maven 任务支持的参数
参数描述类型默认值

目标

要运行的 Maven 目标。

数组

- 软件包

MAVEN_MIRROR_URL

Maven 存储库镜像 URL。

string

 

子目录

任务在其上运行 Maven 构建的源工作区中的子目录。

string

.

表 3.17. maven 任务支持的工作区
Workspace描述

source

包含 Maven 项目的工作区。

server_secret

包含用于连接 Maven 服务器的 secret 的工作区,如用户名和密码。

proxy_secret

包含用于连接代理服务器的凭据的工作区,如用户名和密码。

proxy_configmap

包含代理配置值的工作区,如 proxy_portproxy_hostproxy_protocolproxy_non_proxy_hosts

maven_settings

包含自定义 Maven 设置的工作空间。

Maven ClusterTask 的更改

  • 参数名称 CONTEXT_DIR 被改为 SUBDIRECTORY
  • 工作区名称 maven-settings 被改为 maven_settings

openshift-client

openshift-client 任务使用 oc 命令行界面运行命令。您可以使用此任务来管理 OpenShift Container Platform 集群。

openshift-client 任务使用示例

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
 name: openshift-client-run
spec:
 pipelineSpec:
   tasks:
   - name: openshift-client-run
     taskRef:
       resolver: cluster
       params:
       - name: kind
         value: task
       - name: name
         value: openshift-client
       - name: namespace
         value: openshift-pipelines
     params:
     - name: SCRIPT
       value: "oc version"

表 3.18. openshift-client 任务支持的参数
参数描述类型默认值

SCRIPT

要运行的 oc CLI 参数。

string

oc help

VERSION

要使用的 OpenShift Container Platform 版本。

string

latest

表 3.19. openshift-client 任务支持的工作区
Workspace描述

manifest_dir

包含您要使用 oc 实用程序应用的清单文件的工作区。

kubeconfig_dir

一个可选工作区,您可以在其中提供 .kube/config 文件,其中包含用于访问集群的凭证。将此文件放在工作区的根目录中,并将其命名为 kubeconfig

openshift-client ClusterTask的更改

  • 工作区名称 manifest-dir 被改为 manifest_dir
  • 工作区名称 kubeconfig-dir 被改为 kubeconfig_dir

s2i-dotnet

s2i-dotnet 任务使用 Source to Image (S2I) dotnet 构建器镜像构建源代码,该镜像可在 OpenShift Container Platform registry 中作为 image-registry.openshift-image-registry.svc:5000/openshift/dotnet 提供。

s2i-dotnet 任务使用示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-and-deploy
spec:
# ...
  tasks:
# ...
  - name: build-s2i
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: s2i-dotnet
      - name: namespace
        value: openshift-pipelines
    workspaces:
    - name: source
      workspace: shared-workspace
# ...

表 3.20. s2i-dotnet 任务支持的参数
参数描述类型默认值

IMAGE

S2I 进程构建的容器镜像的完全限定名称。

string

 

IMAGE_SCRIPTS_URL

包含构建器镜像的默认 assemble 和 run 脚本的 URL。

string

image:///usr/libexec/s2i

ENV_VARS

构建过程要设置的环境变量数组,以 KEY=VALUE 格式列出。

数组

 

CONTEXT

工作区中的目录的路径,以用作上下文。

string

.

STORAGE_DRIVER

设置 Buildah 存储驱动程序,以反映当前集群节点设置的设置。

string

vfs

格式

要构建的容器的格式,可以是 ocidocker

string

oci

BUILD_EXTRA_ARGS

构建镜像时,build 命令的额外参数。

string

 

PUSH_EXTRA_ARGS

推送镜像时,push 命令的额外参数。

string

 

SKIP_PUSH

跳过将镜像推送到容器 registry。

string

false

TLS_VERIFY

TLS 验证标志,通常为 true

string

true

详细

打开详细日志记录 ; 执行的所有命令都添加到日志中。

string

false

VERSION

镜像流的标签,对应于语言版本。

string

latest

表 3.21. s2i-dotnet 任务支持的工作区
Workspace描述

source

应用源代码,即 S2I 工作流的构建上下文。

dockerconfig

一个可选的工作区,用于提供 Buildah 用于访问容器 registry 的 .docker/config.json 文件。将文件放在工作区的根目录中,名称为 config.json.dockerconfigjson

表 3.22. s2i-dotnet 任务返回的结果
结果类型描述

IMAGE_URL

string

构建的镜像的完全限定名称。

IMAGE_DIGEST

string

构建的镜像摘要。

s2i-dotnet ClusterTask的更改

  • 添加了几个新参数。
  • BASE_IMAGE 参数已被删除。
  • 参数名称 PATH_CONTEXT 被改为 CONTEXT
  • 参数名称 TLS_VERIFY 被更改为 TLSVERIFY
  • 添加 IMAGE_URL 结果。

s2i-go

s2i-go 任务使用 S2I Golang 构建器镜像构建源代码,该镜像可从 OpenShift Container Platform registry 作为 image-registry.openshift-image-registry.svc:5000/openshift/golang 进行访问。

s2i-go 任务使用示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-and-deploy
spec:
# ...
  tasks:
# ...
  - name: build-s2i
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: s2i-go
      - name: namespace
        value: openshift-pipelines
    workspaces:
    - name: source
      workspace: shared-workspace
# ...

表 3.23. s2i-go 任务支持的参数
参数描述类型默认值

IMAGE

S2I 进程构建的容器镜像的完全限定名称。

string

 

IMAGE_SCRIPTS_URL

包含构建器镜像的默认 assemble 和 run 脚本的 URL。

string

image:///usr/libexec/s2i

ENV_VARS

构建过程要设置的环境变量数组,以 KEY=VALUE 格式列出。

数组

 

CONTEXT

工作区中的目录的路径,以用作上下文。

string

.

STORAGE_DRIVER

设置 Buildah 存储驱动程序,以反映当前集群节点设置的设置。

string

vfs

格式

要构建的容器的格式,可以是 ocidocker

string

oci

BUILD_EXTRA_ARGS

构建镜像时,build 命令的额外参数。

string

 

PUSH_EXTRA_ARGS

推送镜像时,push 命令的额外参数。

string

 

SKIP_PUSH

跳过将镜像推送到容器 registry。

string

false

TLS_VERIFY

TLS 验证标志,通常为 true

string

true

详细

打开详细日志记录 ; 执行的所有命令都添加到日志中。

string

false

VERSION

镜像流的标签,对应于语言版本。

string

latest

表 3.24. s2i-go 任务支持的工作区
Workspace描述

source

应用源代码,即 S2I 工作流的构建上下文。

dockerconfig

一个可选的工作区,用于提供 Buildah 用于访问容器 registry 的 .docker/config.json 文件。将文件放在工作区的根目录中,名称为 config.json.dockerconfigjson

表 3.25. s2i-go 任务返回的结果
结果类型描述

IMAGE_URL

string

构建的镜像的完全限定名称。

IMAGE_DIGEST

string

构建的镜像摘要。

s2i-go ClusterTask中的更改

  • 添加了几个新参数。
  • BASE_IMAGE 参数已被删除。
  • 参数名称 PATH_CONTEXT 被改为 CONTEXT
  • 参数名称 TLS_VERIFY 被更改为 TLSVERIFY
  • 添加 IMAGE_URL 结果。

s2i-java

s2i-java 任务使用 S2I Java 构建器镜像构建源代码,该镜像可从 OpenShift Container Platform registry 作为 image-registry.openshift-image-registry.svc:5000/openshift/java 提供。

表 3.26. s2i-java 任务支持的参数
参数描述类型默认值

IMAGE

S2I 进程构建的容器镜像的完全限定名称。

string

 

IMAGE_SCRIPTS_URL

包含构建器镜像的默认 assemble 和 run 脚本的 URL。

string

image:///usr/libexec/s2i

ENV_VARS

构建过程要设置的环境变量数组,以 KEY=VALUE 格式列出。

数组

 

CONTEXT

工作区中的目录的路径,以用作上下文。

string

.

STORAGE_DRIVER

设置 Buildah 存储驱动程序,以反映当前集群节点设置的设置。

string

vfs

格式

要构建的容器的格式,可以是 ocidocker

string

oci

BUILD_EXTRA_ARGS

构建镜像时,build 命令的额外参数。

string

 

PUSH_EXTRA_ARGS

推送镜像时,push 命令的额外参数。

string

 

SKIP_PUSH

跳过将镜像推送到容器 registry。

string

false

TLS_VERIFY

TLS 验证标志,通常为 true

string

true

详细

打开详细日志记录 ; 执行的所有命令都添加到日志中。

string

false

VERSION

镜像流的标签,对应于语言版本。

string

latest

表 3.27. s2i-java 任务支持的工作区
Workspace描述

source

应用源代码,即 S2I 工作流的构建上下文。

dockerconfig

一个可选的工作区,用于提供 Buildah 用于访问容器 registry 的 .docker/config.json 文件。将文件放在工作区的根目录中,名称为 config.json.dockerconfigjson

表 3.28. s2i-java 任务返回的结果
结果类型描述

IMAGE_URL

string

构建的镜像的完全限定名称。

IMAGE_DIGEST

string

构建的镜像摘要。

s2i-java ClusterTask中的更改

  • 添加了几个新参数。
  • BUILDER_IMAGE,MAVEN_ARGS_APPEND,MAVEN_CLEAR_REPO, 和 MAVEN_MIRROR_URL 参数已被删除。您可以将 MAVEN_ARGS_APPENDMAVEN_CLEAR_REPOMAVEN_MIRROR_URL 值作为环境变量传递。
  • 参数名称 PATH_CONTEXT 被改为 CONTEXT
  • 参数名称 TLS_VERIFY 被更改为 TLSVERIFY
  • 添加 IMAGE_URL 结果。

s2i-nodejs

s2i-nodejs 任务使用 S2I NodeJS 构建器镜像构建源代码,该镜像可从 OpenShift Container Platform registry 作为 image-registry.openshift-image-registry.svc:5000/openshift/nodejs 提供。

s2i-nodejs 任务的用法示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-and-deploy
spec:
# ...
  tasks:
# ...
  - name: build-s2i
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: s2i-nodejs
      - name: namespace
        value: openshift-pipelines
    workspaces:
    - name: source
      workspace: shared-workspace
# ...

表 3.29. s2i-nodejs 任务支持的参数
参数描述类型默认值

IMAGE

S2I 进程构建的容器镜像的完全限定名称。

string

 

IMAGE_SCRIPTS_URL

包含构建器镜像的默认 assemble 和 run 脚本的 URL。

string

image:///usr/libexec/s2i

ENV_VARS

构建过程要设置的环境变量数组,以 KEY=VALUE 格式列出。

数组

 

CONTEXT

工作区中的目录的路径,以用作上下文。

string

.

STORAGE_DRIVER

设置 Buildah 存储驱动程序,以反映当前集群节点设置的设置。

string

vfs

格式

要构建的容器的格式,可以是 ocidocker

string

oci

BUILD_EXTRA_ARGS

构建镜像时,build 命令的额外参数。

string

 

PUSH_EXTRA_ARGS

推送镜像时,push 命令的额外参数。

string

 

SKIP_PUSH

跳过将镜像推送到容器 registry。

string

false

TLS_VERIFY

TLS 验证标志,通常为 true

string

true

详细

打开详细日志记录 ; 执行的所有命令都添加到日志中。

string

false

VERSION

镜像流的标签,对应于语言版本。

string

latest

表 3.30. s2i-nodejs 任务支持的工作区
Workspace描述

source

应用源代码,即 S2I 工作流的构建上下文。

dockerconfig

一个可选的工作区,用于提供 Buildah 用于访问容器 registry 的 .docker/config.json 文件。将文件放在工作区的根目录中,名称为 config.json.dockerconfigjson

表 3.31. s2i-nodejs 任务返回的结果
结果类型描述

IMAGE_URL

string

构建的镜像的完全限定名称。

IMAGE_DIGEST

string

构建的镜像摘要。

s2i-nodejs ClusterTask的更改

  • 添加了几个新参数。
  • BASE_IMAGE 参数已被删除。
  • 参数名称 PATH_CONTEXT 被改为 CONTEXT
  • 参数名称 TLS_VERIFY 被更改为 TLSVERIFY
  • 添加 IMAGE_URL 结果。

s2i-perl

s2i-perl 任务使用 S2I Perl 构建器镜像构建源代码,该镜像可从 OpenShift Container Platform registry 作为 image-registry.openshift-image-registry.svc:5000/openshift/perl 获取。

s2i-perl 任务使用示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-and-deploy
spec:
# ...
  tasks:
# ...
  - name: build-s2i
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: s2i-perl
      - name: namespace
        value: openshift-pipelines
    workspaces:
    - name: source
      workspace: shared-workspace
# ...

表 3.32. s2i-perl 任务支持的参数
参数描述类型默认值

IMAGE

S2I 进程构建的容器镜像的完全限定名称。

string

 

IMAGE_SCRIPTS_URL

包含构建器镜像的默认 assemble 和 run 脚本的 URL。

string

image:///usr/libexec/s2i

ENV_VARS

构建过程要设置的环境变量数组,以 KEY=VALUE 格式列出。

数组

 

CONTEXT

工作区中的目录的路径,以用作上下文。

string

.

STORAGE_DRIVER

设置 Buildah 存储驱动程序,以反映当前集群节点设置的设置。

string

vfs

格式

要构建的容器的格式,可以是 ocidocker

string

oci

BUILD_EXTRA_ARGS

构建镜像时,build 命令的额外参数。

string

 

PUSH_EXTRA_ARGS

推送镜像时,push 命令的额外参数。

string

 

SKIP_PUSH

跳过将镜像推送到容器 registry。

string

false

TLS_VERIFY

TLS 验证标志,通常为 true

string

true

详细

打开详细日志记录 ; 执行的所有命令都添加到日志中。

string

false

VERSION

镜像流的标签,对应于语言版本。

string

latest

表 3.33. s2i-perl 任务支持的工作区
Workspace描述

source

应用源代码,即 S2I 工作流的构建上下文。

dockerconfig

一个可选的工作区,用于提供 Buildah 用于访问容器 registry 的 .docker/config.json 文件。将文件放在工作区的根目录中,名称为 config.json.dockerconfigjson

表 3.34. s2i-perl 任务返回的结果
结果类型描述

IMAGE_URL

string

构建的镜像的完全限定名称。

IMAGE_DIGEST

string

构建的镜像摘要。

s2i-perl ClusterTask的更改

  • 添加了几个新参数。
  • BASE_IMAGE 参数已被删除。
  • 参数名称 PATH_CONTEXT 被改为 CONTEXT
  • 参数名称 TLS_VERIFY 被更改为 TLSVERIFY
  • 添加 IMAGE_URL 结果。

s2i-php

s2i-php 任务使用 S2I PHP 构建器镜像构建源代码,该镜像可从 OpenShift Container Platform registry 作为 image-registry.openshift-image-registry.svc:5000/openshift/php 提供。

s2i-php 任务的使用情况示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-and-deploy
spec:
# ...
  tasks:
# ...
  - name: build-s2i
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: s2i-php
      - name: namespace
        value: openshift-pipelines
    workspaces:
    - name: source
      workspace: shared-workspace
# ...

表 3.35. s2i-php 任务支持的参数
参数描述类型默认值

IMAGE

S2I 进程构建的容器镜像的完全限定名称。

string

 

IMAGE_SCRIPTS_URL

包含构建器镜像的默认 assemble 和 run 脚本的 URL。

string

image:///usr/libexec/s2i

ENV_VARS

构建过程要设置的环境变量数组,以 KEY=VALUE 格式列出。

数组

 

CONTEXT

工作区中的目录的路径,以用作上下文。

string

.

STORAGE_DRIVER

设置 Buildah 存储驱动程序,以反映当前集群节点设置的设置。

string

vfs

格式

要构建的容器的格式,可以是 ocidocker

string

oci

BUILD_EXTRA_ARGS

构建镜像时,build 命令的额外参数。

string

 

PUSH_EXTRA_ARGS

推送镜像时,push 命令的额外参数。

string

 

SKIP_PUSH

跳过将镜像推送到容器 registry。

string

false

TLS_VERIFY

TLS 验证标志,通常为 true

string

true

详细

打开详细日志记录 ; 执行的所有命令都添加到日志中。

string

false

VERSION

镜像流的标签,对应于语言版本。

string

latest

表 3.36. s2i-php 任务支持的工作区
Workspace描述

source

应用源代码,即 S2I 工作流的构建上下文。

dockerconfig

一个可选的工作区,用于提供 Buildah 用于访问容器 registry 的 .docker/config.json 文件。将文件放在工作区的根目录中,名称为 config.json.dockerconfigjson

表 3.37. s2i-php 任务返回的结果
结果类型描述

IMAGE_URL

string

构建的镜像的完全限定名称。

IMAGE_DIGEST

string

构建的镜像摘要。

s2i-php ClusterTask的更改

  • 添加了几个新参数。
  • BASE_IMAGE 参数已被删除。
  • 参数名称 PATH_CONTEXT 被改为 CONTEXT
  • 参数名称 TLS_VERIFY 被更改为 TLSVERIFY
  • 添加 IMAGE_URL 结果。

s2i-python

s2i-python 任务使用 S2I Python 构建器镜像构建源代码,该镜像可从 OpenShift Container Platform registry 作为 image-registry.openshift-image-registry.svc:5000/openshift/python 提供。

s2i-python 任务使用示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-and-deploy
spec:
# ...
  tasks:
# ...
  - name: build-s2i
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: s2i-python
      - name: namespace
        value: openshift-pipelines
    workspaces:
    - name: source
      workspace: shared-workspace
# ...

表 3.38. s2i-python 任务支持的参数
参数描述类型默认值

IMAGE

S2I 进程构建的容器镜像的完全限定名称。

string

 

IMAGE_SCRIPTS_URL

包含构建器镜像的默认 assemble 和 run 脚本的 URL。

string

image:///usr/libexec/s2i

ENV_VARS

构建过程要设置的环境变量数组,以 KEY=VALUE 格式列出。

数组

 

CONTEXT

工作区中的目录的路径,以用作上下文。

string

.

STORAGE_DRIVER

设置 Buildah 存储驱动程序,以反映当前集群节点设置的设置。

string

vfs

格式

要构建的容器的格式,可以是 ocidocker

string

oci

BUILD_EXTRA_ARGS

构建镜像时,build 命令的额外参数。

string

 

PUSH_EXTRA_ARGS

推送镜像时,push 命令的额外参数。

string

 

SKIP_PUSH

跳过将镜像推送到容器 registry。

string

false

TLS_VERIFY

TLS 验证标志,通常为 true

string

true

详细

打开详细日志记录 ; 执行的所有命令都添加到日志中。

string

false

VERSION

镜像流的标签,对应于语言版本。

string

latest

表 3.39. s2i-python 任务支持的工作区
Workspace描述

source

应用源代码,即 S2I 工作流的构建上下文。

dockerconfig

一个可选的工作区,用于提供 Buildah 用于访问容器 registry 的 .docker/config.json 文件。将文件放在工作区的根目录中,名称为 config.json.dockerconfigjson

表 3.40. s2i-python 任务返回的结果
结果类型描述

IMAGE_URL

string

构建的镜像的完全限定名称。

IMAGE_DIGEST

string

构建的镜像摘要。

s2i-python ClusterTask中的更改

  • 添加了几个新参数。
  • BASE_IMAGE 参数已被删除。
  • 参数名称 PATH_CONTEXT 被改为 CONTEXT
  • 参数名称 TLS_VERIFY 被更改为 TLSVERIFY
  • 添加 IMAGE_URL 结果。

s2i-ruby

s2i-ruby 任务使用 S2I Ruby 构建器镜像构建源代码,该镜像可从 OpenShift Container Platform registry 作为 image-registry.openshift-image-registry.svc:5000/openshift/ruby 提供。

s2i-ruby 任务的用法示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-and-deploy
spec:
# ...
  tasks:
# ...
  - name: build-s2i
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: s2i-ruby
      - name: namespace
        value: openshift-pipelines
    workspaces:
    - name: source
      workspace: shared-workspace
# ...

表 3.41. s2i-ruby 任务支持的参数
参数描述类型默认值

IMAGE

S2I 进程构建的容器镜像的完全限定名称。

string

 

IMAGE_SCRIPTS_URL

包含构建器镜像的默认 assemble 和 run 脚本的 URL。

string

image:///usr/libexec/s2i

ENV_VARS

构建过程要设置的环境变量数组,以 KEY=VALUE 格式列出。

数组

 

CONTEXT

工作区中的目录的路径,以用作上下文。

string

.

STORAGE_DRIVER

设置 Buildah 存储驱动程序,以反映当前集群节点设置的设置。

string

vfs

格式

要构建的容器的格式,可以是 ocidocker

string

oci

BUILD_EXTRA_ARGS

构建镜像时,build 命令的额外参数。

string

 

PUSH_EXTRA_ARGS

推送镜像时,push 命令的额外参数。

string

 

SKIP_PUSH

跳过将镜像推送到容器 registry。

string

false

TLS_VERIFY

TLS 验证标志,通常为 true

string

true

详细

打开详细日志记录 ; 执行的所有命令都添加到日志中。

string

false

VERSION

镜像流的标签,对应于语言版本。

string

latest

表 3.42. s2i-ruby 任务支持的工作区
Workspace描述

source

应用源代码,即 S2I 工作流的构建上下文。

dockerconfig

一个可选的工作区,用于提供 Buildah 用于访问容器 registry 的 .docker/config.json 文件。将文件放在工作区的根目录中,名称为 config.json.dockerconfigjson

表 3.43. s2i-ruby 任务返回的结果
结果类型描述

IMAGE_URL

string

构建的镜像的完全限定名称。

IMAGE_DIGEST

string

构建的镜像摘要。

s2i-ruby ClusterTask的更改

  • 添加了几个新参数。
  • BASE_IMAGE 参数已被删除。
  • 参数名称 PATH_CONTEXT 被改为 CONTEXT
  • 参数名称 TLS_VERIFY 被更改为 TLSVERIFY
  • 添加 IMAGE_URL 结果。

skopeo-copy

skopeo-copy 任务执行 skopeo copy 命令。

Skopeo 是一个用于远程容器镜像 registry 的命令行工具,不需要守护进程或其他基础架构来加载和运行镜像。skopeo copy 命令将镜像从一个远程 registry 复制到另一个远程 registry,例如,从内部注册表复制到生产环境 registry。Skopeo 支持使用您提供的凭据在镜像 registry 上授权。

skopeo-copy 任务的用法示例

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-deploy-image
spec:
# ...
  tasks:
  - name: copy-image
    taskRef:
      resolver: cluster
      params:
      - name: kind
        value: task
      - name: name
        value: skopeo-copy
      - name: namespace
        value: openshift-pipelines
    params:
    - name: SOURCE_IMAGE_URL
      value: "docker://internal.registry/myimage:latest"
    - name: DESTINATION_IMAGE_URL
      value: "docker://production.registry/myimage:v1.0"
    workspaces:
    - name: output
      workspace: shared-workspace

表 3.44. skopeo-copy 任务支持的参数
参数描述类型默认值

SOURCE_IMAGE_URL

源容器镜像的完全限定名称,包括标签。

string

 

DESTINATION_IMAGE_URL

Skopeo 将源镜像复制到的目标镜像的完全限定名称,包括标签。

string

 

SRC_TLS_VERIFY

源 registry 的 TLS 验证标志,通常为 true

string

true

DEST_TLS_VERIFY

目标 registry 的 TLS 验证标志,通常为 true

string

true

详细

将调试信息输出到日志。

string

false

表 3.45. skopeo-copy 任务支持的工作区
Workspace描述

images_url

如果要复制多个镜像,请使用此工作区提供镜像 URL。

表 3.46. skopeo-copy 任务返回的结果
结果类型描述

SOURCE_DIGEST

string

源镜像的 SHA256 摘要。

DESTINATION_DIGEST

string

目标镜像的 SHA256 摘要。

skopeo-copy ClusterTask的更改

  • 所有参数名称都改为大写。
  • 添加了 VERBOSE 参数。
  • 工作区名称从 images-url 改为 images_url
  • 添加了 SOURCE_DIGESTDESTINATION_DIGEST 结果。

tkn

tkn 任务使用 tkn 对 Tekton 资源执行操作。

tkn 任务的用法示例

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
 name: tkn-run
spec:
 pipelineSpec:
   tasks:
   - name: tkn-run
     taskRef:
       resolver: cluster
       params:
       - name: kind
         value: task
       - name: name
         value: tkn
       - name: namespace
         value: openshift-pipelines
     params:
     - name: ARGS

表 3.47. tkn 任务支持的参数
参数描述类型默认值

SCRIPT

要执行的 tkn CLI 脚本。

string

tkn $@

ARGS

要运行的 tkn CLI 参数。

数组

- --help

表 3.48. tkn 任务支持的工作区
Workspace描述

kubeconfig_dir

一个可选工作区,您可以在其中提供 .kube/config 文件,其中包含用于访问集群的凭证。将此文件放在工作区的根目录中,并将其命名为 kubeconfig

tkn ClusterTask的更改

  • TKN_IMAGE 参数已被删除。
  • 工作区名称已从 kubeconfig 改为 kubeconfig_dir
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.