首页 > 解决方案 > 在 Tekton Steps 之间传递变量

问题描述

我正在尝试实现一个基本的 Tekton CI 管道。管道所做的只是 1) 获取源代码 2) 使用新版本构建映像并将其推送到映像注册表。

映像版本由 Tekton Step 生成。映像是由另一个使用 Kaniko 的 Tekton 步骤构建的,如此处所述

我知道使用工作区在 Tekton 步骤之间传递变量。这意味着我可以将版本写入工作区中的文件。但无法找出从以下 Kaniko 构建步骤中的文件中读取此版本的方法:

  steps:
    - name: build-and-push
      image: gcr.io/kaniko-project/executor:latest
      # specifying DOCKER_CONFIG is required to allow kaniko to detect docker credential
      env:
        - name: "DOCKER_CONFIG"
          value: "/tekton/home/.docker/"
      command:
        - /kaniko/executor
      args:
        - --dockerfile=$(params.pathToDockerFile)
        - --destination=$(resources.outputs.builtImage.url):<IMAGE-VERSION-NEEDED-HERE>
        - --context=$(params.pathToContext)
        - --build-arg=BASE=alpine:3

应该有一个共同的模式来解决这个问题,但我不确定我是否在 Tekton 文档中查看了正确的位置。

任何人都可以提供一些指示吗?

标签: tekton

解决方案


这是为了确认我通过按照@Jonas 的建议重新设计任务步骤来解决问题。

Tekton 任务可以具有可以在其他任务中引用的输出。在撰写本文时,Tekton 步骤似乎没有此功能。

有关更多详细信息,请参阅上面@Jonas 评论中的链接。


推荐阅读