我们的构建服务器已安装了多个版本的Xcode。我们的构建脚本使用xcode-select选择正确的版本。一切都很好。
我们的某些版本需要一段时间才能运行。我们正在考虑允许在同一构建服务器上同时进行多个构建(Bamboo代理)。我担心的是,在不同(但同时)构建中使用xcode-select会导致争用情况。如果第二个构建开始并需要该版本,则以Xcode 9.4.1开头的构建可能会切换到Xcode 10.0中间构建。
我唯一的想法是使用VM的/新机器来并行化构建。
我很好奇是否有人处理过这种情况。谢谢。
答案 0 :(得分:0)
您可以尝试使用xcrun而不是xcode-select来调用您的xcodebuild。并发构建时,您可能会发现自己的构建竞争系统资源...
答案 1 :(得分:0)
您可以设置DEVELOPER_DIR
环境变量,而不用使用xcode-select
切换活动的Xcode。
在xcode-select
手册页中:
环境
DEVELOPER_DIR
覆盖活动的开发人员目录。设置
DEVELOPER_DIR
时,将使用其值代替系统范围的活动值 开发人员目录。请注意,由于历史原因,开发人员目录被视为Xcode中的开发人员内容目录 应用程序(例如 /Applications/Xcode.app/Contents/Developer )。您可以将环境变量设置为实际的开发人员内容 目录或Xcode应用程序目录-
xcode-select
提供的垫片将自动转换 环境变量进入完整的Developer内容路径。