我的团队目前正在使用buildbot自动化夜间和持续集成构建和回归测试。对于构建和单元测试,构建器只需调用一个脚本,该脚本同步来自 p4 的源代码,然后运行xcodebuild
. 回归测试也由 shell 脚本启动,它们本身是 shell 脚本和 AppleScripts 的组合。构建都在一个系统上执行,然后 buildbot 触发测试在多台 Mac 上进行,具有不同的架构和操作系统组合。我喜欢 buildbot 的地方是自动触发器(因此测试仅在构建成功时运行),以及包括瀑布视图在内的报告以查看整体状态。
但是,我也看到了一些问题。协调构建的“主”进程要么是泄漏的,要么只是有一个巨大的工作集,这意味着它消耗了几千兆字节的内存。偶尔网络问题意味着一个slave会丢失;而不是稍后重试,它只会使构建失败。事实上,如果从属应该被触发以进行依赖构建,那么在它成功完成后它将导致第一次构建失败。
那么你们其他人使用什么来自动化 Xcode 构建和单元测试呢?这些解决方案如何为您服务?你有什么推荐的吗?