gpt4 book ai didi

tekton - 将 ENV 变量从一个 Tekton Task 步骤传递到下一个步骤?

转载 作者:行者123 更新时间:2023-12-02 02:42:26 24 4
gpt4 key购买 nike

所以Tekton Pipelines允许您创建单个任务并将它们连接到云原生 ci/cd 管道。它太酷了。但正如你所想象的那样,你认为很简单的事情其实很棘手。例如,我试图将 Kaniko 执行程序作为任务运行,但该执行程序需要特定参数。我可以对这些 args 进行硬编码,但这会降低任务的可重用性,因此我希望之前的任务只是从源和输出读取配置文件,或者为后续任务设置 env 变量。不知道如何做到这一点。就 Kaniko 而言,它真的很棘手,因为您没有任何 shell 或任何东西。有什么建议?

这是一个样本 task从他们的文档中我已经调整过以显示我正在尝试做的事情。

apiVersion: tekton.dev/v1alpha1
kind: Task
metadata:
name: example-task-name
spec:
inputs:
resources:
- name: workspace
type: git
params:
- name: pathToDockerFile
type: string
description: The path to the dockerfile to build
default: /workspace/workspace/Dockerfile
outputs:
resources:
- name: builtImage
type: image
steps:
- name: ubuntu-example
image: ubuntu
args: "export FOO=bar"
- image: gcr.io/example-builders/build-example
command: ["echo $FOO"]

最佳答案

我试图实现相同的目标并找到了一个(hacky)解决方案:
您可以利用 workspaces 的概念并将您的变量值写入文件。您也可以使用它来混合不同类型的脚本(本例中为 python 和 sh):

steps:
- name: python-write-value
image: python:3.7-alpine
script: |
#!/usr/bin/env python3
value = "my_value_to_share"
f = open("/workspace/value.txt","w+")
f.write(value)
- name: sh-read-value
image: ubuntu
script: |
value=$(cat /workspace/value.txt)
echo $value

关于tekton - 将 ENV 变量从一个 Tekton Task 步骤传递到下一个步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58561514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com