12

我的团队目前正在使用buildbot自动化夜间和持续集成构建和回归测试。对于构建和单元测试,构建器只需调用一个脚本,该脚本同步来自 p4 的源代码,然后运行xcodebuild​​. 回归测试也由 shell 脚本启动,它们本身是 shell 脚本和 AppleScripts 的组合。构建都在一个系统上执行,然后 buildbot 触发测试在多台 Mac 上进行,具有不同的架构和操作系统组合。我喜欢 buildbot 的地方是自动触发器(因此测试仅在构建成功时运行),以及包括瀑布视图在内的报告以查看整体状态。

但是,我也看到了一些问题。协调构建的“主”进程要么是泄漏的,要么只是有一个巨大的工作集,这意味着它消耗了几千兆字节的内存。偶尔网络问题意味着一个slave会丢失;而不是稍后重试,它只会使构建失败。事实上,如果从属应该被触发以进行依赖构建,那么在它成功完成后它将导致第一次构建失败。

那么你们其他人使用什么来自动化 Xcode 构建和单元测试呢?这些解决方案如何为您服务?你有什么推荐的吗?

4

6 回答 6

5

我在 Windows 环境中使用TeamCity,但我相信它可以在 Mac 上运行并具有 xcode 构建代理。

另一个类似的问题在这里

于 2009-07-24T08:26:08.127 回答
4

我们的团队使用 Hudson 的脚本将单元测试输出从 XCode 转换为 NUnit 格式。

于 2009-07-24T08:26:02.900 回答
2

I know this is an older question, but for those using TFS to hold their Xcode projects, I created a custom build activity to make automating Xcode builds via TFS easier. The code is hosted on Codeplex here: http://tfsxcodebuild.codeplex.com/.

Hope someone finds it useful!

于 2012-02-19T03:36:22.113 回答
1

我们找出了使用所有内存的原因 - 日志文件 - 较旧的 buildbot 会永久保留所有日志并将它们保存在内存中(可能直到重新启动)。

可以将较新的 buildbot 配置为保留固定数量的历史记录。

Buildbot 构建日志文件的大小应受到限制以避免该问题。

于 2009-09-15T20:26:31.323 回答
1

我使用属于CruiseControl的XcodeBuilder。当然,我写它有帮助。:)

但我确实在一个真正的多人项目中使用了它,用于在应用商店出售的 iPhone 应用 ( Surf )。

于 2009-09-15T20:56:18.993 回答
0

Now that it's three years later I have my own answer to provide to this question. I'm using Jenkins, mainly for the plug-ins that it provides. It has a plug-in for building targets in Xcode projects (or schemes in workspaces). There's a plug-in to run the Clang static analyzer. It interfaces with my bug-tracker system, it'll automatically push builds to Testflight too.

于 2012-08-03T14:48:00.597 回答