10

我们正在使用 Jenkins 在 Mac Mini 服务器上运行我们的 xcodebuilds。在过去的几周里,我们开始开发 iOS 7 应用程序,并在 Mac Mini 上安装了 Xcode 5 DP 版本。

在安装新的 Xcode 版本并配置新 Xcode 的 xcodebuild 时,xcode-select 这个新版本也用于构建我们的旧 iOS 6 应用程序 - 这会破坏它们的 UI。

有没有办法告诉 Jenkins 它应该使用哪个 xcodebuild 来构建项目?

4

3 回答 3

16

查看 Andy Molloy 在http://andymolloy.net/specifying-xcode-version-for-jenkins-projects上发布的解决方案。

您必须为 Jenkins 安装 EnvInject 插件并将 DEVELOPER_DIR=/Applications/Xcode5-DP6.app/Contents/Developer 环境变量添加到您的构建作业中。

于 2013-09-06T10:18:01.267 回答
0

看起来不可能为每个 jenkins 作业指定 xcode 版本。在命令行上切换 xcode 版本也需要 root 权限。

您可以通过确保您的 IOS 6 应用程序在使用新的 xcode 构建时正常工作来解决您的问题。尝试选择正确的基础 SDK 和部署目标http://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/

如果这不起作用,您可以尝试强制切换 xcode 版本以在构建时使用,预先使用 xcode 插件。您将不得不摆弄 sudo 权限。鉴于这是一个系统设置,您可能需要防止多个构建同时发生。

不过,我会尽力让多个构建与单个 xcode 版本一起工作。

于 2013-08-12T23:33:03.953 回答
0

在运行时选择 xcode 版本

  1. 使用 EnvInject 插件
  2. 对于需要非默认值的作业,请执行以下操作

DEVELOPER_DIR=/Applications/Xcode6.0.1.app/Contents/Developer

在将环境变量注入到构建过程中

https://wiki.jenkins-ci.org/display/JENKINS/Xcode+Plugin

于 2016-11-25T12:08:23.470 回答