gpt4 book ai didi

Jenkins Pipeline 构建步骤 - getBuildVariables() 返回空映射

转载 作者:行者123 更新时间:2023-12-02 15:58:33 25 4
gpt4 key购买 nike

我在测试 Jenkinsfile 中有以下代码:

node {
stage 'Build'
def job1 = build 'Sample_Freestyle'

def dur = job1.getDuration()
println dur

def vars = job1.getBuildVariables()
println vars

def myMap = [k1:'v1', k2:'v2', k3:'v3']
println myMap
}

据我了解,当我使用构建步骤时,会返回一个 RunWrapper 对象。我正在尝试获取名为“Sample_Freestyle”的测试作业的构建变量,该变量此时运行一个简单的 Windows 批处理命令:

echo "Hello World"

每当我运行它时,它都会正确执行,但是我留下了一张空 map 。我测试了 getDuration() 方法,它按预期返回。我看了一下 RunWrapper 类 here env 可能为 null(大约第 212 行),但这只是一个假设。

有谁知道为什么我在调用 getBuildVariables() 时会得到一个空 map ?我是否以错误的方式处理这个问题?

最佳答案

如果有人在声明性管道中寻找解决方案。我想获取下游作业环境变量(多分支声明式管道)我的下游作业设置一个环境变量作为其构建的一部分。

所以在我的上游我这样做:

//downstream job kickoff
def buildResult = build job: "<downstreamjob>"
//downstream sets a new env variable env.PACKAGE_NAME
def packageName = buildResult.buildVariables.PACKAGE_NAME

关于Jenkins Pipeline 构建步骤 - getBuildVariables() 返回空映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45970157/

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