如何从脚本中设置Jenkins环境变量

23

我正在尝试设置一个脚本来递增我的Xcode项目的构建号。我通过调用API来获取当前的构建号,然后我想将其递增并将该新数字作为环境变量应用,以便Xcode插件可以使用它。

我已经安装了EnvInject插件,但我不知道如何将我的shell脚本中的变量传递到环境变量中。

APP_BUILD_NUMBER=$(curl --request GET 'https://api.domain.com/api/GetBuildNumber')
APP_BUILD_NUMBER=$((APP_BUILD_NUMBER +1))

这将APP_BUILD_NUMBER设置为我需要的值,但是如何将其分配给环境变量,以便稍后在我的工作中访问它呢?

2个回答

47

添加一个构建步骤来执行 shell - 在其中确定 APP_BUILD_NUMBER 并将其输出到文件中,例如:

添加一个构建步骤来执行 shell - 在其中确定 APP_BUILD_NUMBER 并将其输出到文件中,例如:

APP_BUILD_NUMBER=$(curl --request GET 'https://api.domain.com/api/GetBuildNumber')
APP_BUILD_NUMBER=$((APP_BUILD_NUMBER +1))
echo APP_BUILD_NUMBER=$APP_BUILD_NUMBER > build.properties

然后添加构建步骤 注入环境变量,并将其中的属性文件路径设置为$WORKSPACE/build.properties

之后$APP_BUILD_NUMBER可作为环境变量在所有构建步骤中访问;例如在Xcode构建步骤中。


1
请注意,https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin插件不支持Pipeline语法。 - mattes

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接