jenkins 构建xcode-select -s 切换xcode版本失败 (切换xcode路径无效)

有时候,我们需要安装不止一个xcode版本,如何安装多个xcode版本,参考我的另一篇博客:https://www.cnblogs.com/zndxall/p/12463744.html,可以完成整个自动切换的过程,但是当集成到jenkins中调用时,就可能切换失败了。

场景:我升级了mac的系统版本,然后jenkins中调用脚本切换xcode版本,结果失败了:

 这两个框,上是我输出的当前版本,下是我执行了中间的切换过程,输出的切换后的版本,发现没有从11.3切换到10,切换失败了。

然后分析原因,发现中间的切换过程:“Configured with: ---”那一条的xcode路径依然是xcode11.3的路径,没有变更成xcode10的路径(我的xcode10的路径是:/Applications/Xcode10/Xcode.app),但是再mac机器上执行这个切换过程就没有问题,那应该又是jenkins没有读取到环境变量导致的了。

解决:

   设置DEVELOPER_DIR

   即在切换xcode版本之前,执行export DEVELOPER_DIR切换环境变量,如下

 

 就在脚本里加了这两条,脚本详细内容,参考文章开头给的设置多版本xcode时的链接:https://www.cnblogs.com/zndxall/p/12463744.html  其中的test.sh

 另外(2020.6.22补充):最佳偶然打开xcode发现,就算我执行了上面的./expect_xcode 10从xcode11切换到xcdoe时,但是xcode工具的版本还是显示xcode11,这就让我一度怀疑之前的切换是否成功,但是我再命令行执行xcodebuild -version,看到的的确是xcode10呀,为啥和xcode的“About Xcode”看到的版本不一样呢

查找资料过程中,看到了以下描述,让我确定我的确是切换了:

       打开xcode偏好设置,选择location,显示如下(我的显示的是xcode10)

        

 “About Xcode”在电脑重启后,显示的也是切换后的xcode版本。

原文地址:https://www.cnblogs.com/zndxall/p/12909858.html