【问题标题】:Ho do I set and get environment variables in windows batch command of Jenkins?如何在 Jenkins 的 Windows 批处理命令中设置和获取环境变量?
【发布时间】:2021-01-18 06:47:10
【问题描述】:

在图片中,您可以看到我正在通过 curl 调用 API。此 API 返回字符串数据。我需要将此响应存储在 Jenkins 环境变量中并访问第二张图片中的环境变量。如您所见,我已尝试设置变量,但这不是这样做的方法

如何在 Jenkins 中设置和获取环境变量?

【问题讨论】:

    标签: jenkins jenkins-pipeline advanced-installer


    【解决方案1】:

    您需要定义一个parameterized build,并将VERSION 作为参数。


    或者,替代选项,您可以使用Environment Injector,来:

    • 在 SCM 签出后注入变量

    • 在构建步骤中注入变量

    第二个选项允许您在工作中使用静态值(始终构建相同的表单构建)。

    这两个选项都允许您在 Windows shell (bat) 脚本步骤中引用 %VERSION%


    关于一步设置变量,请先尝试测试,使用set

    set VERSION="xxx"
    

    第二步:

    echo VERSION is '%VERSION%'
    

    它不应该工作,因为explained here,每个步骤都有自己的环境。

    在这种情况下,第一步应该将值写入文件,第二步应该读取该文件。

    【讨论】:

    • 感谢您的关心,我已经使用Environment Injector成功注入了环境变量,问题在于它将curl脚本假定为字符串内容并且不允许执行curl和将响应字符串设置为变量..
    • @DavidSilwal 好的。然后设置要使用的命令:查看我编辑的答案以进行快速测试。一旦这工作,我会检查curl
    • 再次感谢您的快速回答,我只是按照您的步骤操作,版本似乎设置了空值。我刚刚粘贴了我的 curl 脚本,你能看看吗? set VERSION = "curl -X POST -H "Content-Type:application/json" -d "{\"Link\": \"localhost\",\"Env\": 0,\"Software\" : 0}" https://localhost/api/jenkins/build"
    • @DavidSilwal 我要测试它没有 curl 首先。简单的步骤:一个命令。 set "VERSION=xxx",接下来看看VERSION是否为空。
    • @DavidSilwal 好的。查看我的编辑及其相关链接。使用文件似乎是一个很好的解决方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 2011-07-20
    • 2014-03-03
    • 2014-03-05
    相关资源
    最近更新 更多