You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins中将命令执行输出结果设置为环境变量

Jenkins将命令执行输出赋值给环境变量的实现方案

你需求的场景完全可以实现,不过你给出的示例代码存在语法错误,调整后即可正常使用。

错误点说明

  • 缺sh步骤的returnStdout: true参数:默认sh步骤仅会将命令输出打印到构建日志,不会返回值,必须显式指定该参数才会把命令执行的标准输出作为返回值
  • 多余的右括号:你示例代码的末尾多写了1个闭合括号,会触发语法报错
  • 命令内容未包裹引号:执行的az命令需要用引号包裹,才能作为sh步骤的合法入参

正确写法示例

environment {
    // 其他环境变量配置
    registryAddress = sh(
        script: "az acr list --query \"[?contains(name, 'myname')].name\" --output tsv --resource-group myresourcegroup",
        returnStdout: true
    ).trim()
}

注意事项

  • 末尾加.trim()是为了去除命令输出默认自带的末尾换行符,避免环境变量里混入多余空白字符
  • 需要确保执行构建的Jenkins Agent上已经安装了az cli,并且已经完成对应Azure账号的鉴权,否则命令执行失败会导致环境变量赋值为空
  • 该写法同时支持全局environment块和Stage级别的environment块,可按需选择作用域

内容的提问来源于stack exchange,提问作者lo labs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:39:05