gpt4 book ai didi

groovy - 如何从单个 sh 脚本输出定义多个环境变量

转载 作者:行者123 更新时间:2023-12-04 15:46:23 25 4
gpt4 key购买 nike

我需要在设置多个环境变量的 sh 块中执行一个工具。然后我需要将这些环境变量从 sh 步骤导出到 withEnv 步骤中,以供另一个步骤使用。

我知道我可以通过在同一个 sh 块中执行工具和 ansible 来完成这样的事情。如果可能,我想利用 ansiblePlaybook 插件来完成此任务。

stage('Example') {
steps {
// Run the tool that generates the eval block
sh 'some-tool'
// Generates output like:
// TOKENA='foo'; TOKENB='bar'; export TOKENA; export TOKENB; echo "success"

// This is where I need help.
// How to translate the script output from above into variables
// So that I can make them available to the ansiblePlaybook step.
withEnv([TOKENA=TOKENA, TOKENB=TOKENB]) {
ansiblePlaybook(
// ... irrelevant details
)
}
}
}

我提供的代码不完整。我不期望它有任何结果。

最佳答案

我最近遇到了同样的问题,需要使用 Jenkins 的 withEnv 保存几个环境变量堵塞。这对我有用:

    stage('Do some hard work'){
steps {
withEnv(["MY_VAR_1=${VALUE_1}", "MY_VAR_2=${VALUE_2}"]) {
script {
bat (
script: 'echo "Doing some Hard work with ${MY_VAR_1} and ${MY_VAR_2}"'
)
}
}
}
}

关于groovy - 如何从单个 sh 脚本输出定义多个环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55602831/

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