【发布时间】:2013-08-05 13:39:53
【问题描述】:
有没有办法/插件将新的 Xcode 服务和/或新的 Apple CI 与 Jenkins 集成?
为什么?
通过ssh 连接 Jenkins 服务器 + OSX 构建从站的一个主要问题是 单元测试不起作用,因为 iOS 模拟器需要一个图形环境,而该环境中不存在配置。
我希望可以将 Xcode 服务(支持单元测试)与 Jenkins 集成。
使用 Apple CI 可能足以满足我的需求,但这个问题的目的是 Xcode 服务与 Jenkins 的集成。
我已经知道的事情
我有使用existing Xcode Jenkins plugin 的经验,但它似乎不支持全新的 Xcode 服务或新的 Apple CI。我特别热衷于通过 CI 进行单元测试(在使用旧方法的 ssh 会话中无法正常工作)。
我想知道的
我想了解以下当前无法与 Jenkins 和 ssh 连接的构建从站合作的问题:
- 无头系统上的单元测试
- Frank 或类似的验收测试
- 自动配置配置文件更新(Apple CI 会这样做)
关于目前在 Jenkins 和 ssh 连接的构建从属设备上可以正常工作并且仍应与 Xcode 服务集成一起工作的信息:
- 不同构建配置(发布、调试、TestFlight)/方案的构建
- 自动内部版本号递增
- (使用 Jenkins,我可以将项目中的内部版本号设置为
${BUILD_NUMBER},并且 Jenkins 根据其内部版本号设置此环境变量。当 Apple CI 进行构建时,它很可能会设置内部版本号。) - 在 Jenkins 和 Apple CI 之间处理/同步内部版本号
- (使用 Jenkins,我可以将项目中的内部版本号设置为
- 从不同的 Jenkins 作业访问 Apple CI 的构建产品
- 例如将作业上传到 TestFlight
- 构建备份
- 在 git push 上自动构建到特定分支
- 电子邮件通知
一些额外的问题/提示
- 我不确定是
Apple CI == Xcode service还是Apple CI 只是使用 Xcode 服务。在后一种情况下,Xcode 服务就像一个智能构建奴隶,詹金斯也许可以使用它来进行构建和测试,但自己管理内部版本号和产品。 - 我知道 Apple CI 是一个单独的 CI,将多个 CI 相互集成并不是最简单或最有用的方法。我只是担心 Apple CI 不够灵活,无法满足我的需求(见上文),而 Jenkins 的旧方法存在一些问题(见上文)。
【问题讨论】:
-
你不会在 iOS 标签上找到很多人可以回答这个问题,因为除非我们是 Mac 开发者计划的成员,否则我们不会获得 OSX Mavericks。我正在添加“osx”标签。
-
谢谢,你是对的。
-
如果你还想集成 jenkins,不妨在帖子中提及。
-
也可以看看here。您可能希望将帖子移至其他主题(xcode beta 或 mavericks beta)
标签: ios xcode macos jenkins continuous-integration