微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何在 Jenkins 的 Windows 批处理命令中设置和获取环境变量?

如何解决我如何在 Jenkins 的 Windows 批处理命令中设置和获取环境变量?

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

enter image description here

enter image description here

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

解决方法

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

https://www.baeldung.com/wp-content/uploads/2020/10/jenkins-parameterized-builds-enable-checkbox.jpg


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

  • 在 SCM 结帐后注入变量
    https://cdn.jsdelivr.net/gh/jenkinsci/envinject-plugin@master/docs/images/f6ac7022302083d1e8359babf478bacc1c70f926.png

  • 注入变量作为构建步骤
    https://cdn.jsdelivr.net/gh/jenkinsci/envinject-plugin@master/docs/images/0e0feead5d341176a406f68395e6f9df8b09a390.png

第二个选项允许你在你的工作中拥有一个静态值(总是相同的构建形式)。

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


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

set VERSION="xxx"

第二步:

echo VERSION is '%VERSION%'

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。