在Xcode构建阶段运行脚本中设置全局环境变量

Bry*_*yan 10 xcode environment-variables jenkins run-script jenkins-plugins

我正在使用Jenkins进行持续集成构建.我有很多工作有很多相同的配置代码.我正在把这一切都拉到一个我希望在构建之前和之后运行的公共脚本文件中.

我一直无法弄清楚如何在该脚本中设置一些环境变量,因此Xcode构建命令和Jenkins构建都可以看到它们.

有谁知道这是否可能?

sti*_*sti 5

不可能完全按照你的要求去做.进程无法更改另一个进程的环境变量.前后和实际构建步骤在不同的进程中运行.

但是您可以创建一个脚本来设置公共环境变量并在所有构建之间共享该脚本.

首先会调用shell来执行脚本中的命令,然后调用xcodebuild:

# Note the dot in the beginning of the next line. It is not a typo.
. set_environment.sh
xcodebuild myawesomeapp.xcodeproj
Run Code Online (Sandbox Code Playgroud)

该脚本可能如下所示:

export VARIABLE1=value1
export VARIABLE2=value2
Run Code Online (Sandbox Code Playgroud)

作业将如何分享脚本取决于您的环境和用例.您可以

  • 将脚本放在Jenkins主机上的某个着名位置或
  • 如果所有作业共享同一个存储库,则将脚本放在受版本控制的源代码树中
  • 将脚本放在自己的存储库中,并创建一个Jenkins构建,将脚本存档为构建工件.然后,所有其他作业将使用Copy Artifact插件从脚本作业的工件中获取脚本的副本.