在之前的项目中使用Hudson进行持续集成后,我现在想为正在开发的iPhone项目建立一个持续集成服务器。经过一些研究,看起来没有专门为Xcode设计的CI引擎,但是有人成功地将Cruise Control与xcodebuild CLI工具结合使用。这里有没有人尝试过?有没有任何适用于Xcode项目的CI引擎可用?
我可能会尝试使用Cruise Control。我会发布我的调查结果。
在之前的项目中使用Hudson进行持续集成后,我现在想为正在开发的iPhone项目建立一个持续集成服务器。经过一些研究,看起来没有专门为Xcode设计的CI引擎,但是有人成功地将Cruise Control与xcodebuild CLI工具结合使用。这里有没有人尝试过?有没有任何适用于Xcode项目的CI引擎可用?
我可能会尝试使用Cruise Control。我会发布我的调查结果。
我成功地在Mac上使用Hudson和xcodebuild。随着3.0版的iPhone SDK发布,您可以完全控制项目要建立的目标、配置和SDK。
只需在Hudson中创建一个构建步骤,并告诉xcodebuild来构建项目即可:
xcodebuild -target "myAppAppStore" -configuration "DistributionAppStore" -sdk iphoneos2.1
我先前做的功课让我的构建工作得以轻松完成,无需额外考虑。如果有兴趣,我在我的博客上写了详细描述。
Adium非常有效地使用了buildbot和Xcode。我们编写了一个简单的makefile,通过正确的目标和配置来调用xcodebuild,但我相信这是可选的。
苹果公司刚刚发布了(2013年6月10日)针对OSX Mavericks(OS X 10.9)的新持续集成平台,这是我之前见过的最完整的持续集成解决方案。
可以从developer.apple.com获得该平台,以下页面有详细信息:
我建议观看关于该主题的wwdc 2013演示。
我曾使用过CruiseControl和Xcode(类似于Pragmatic Automation建议的方法),并取得了一定的成功。我对CruiseControl非常熟悉,但它的配置格式设置相对来说比较可怕。
我也使用过BuildBot,并取得了不错的效果,但发现其优点并不完全符合我的需求(在多个不同系统上分布式构建和报告)。虽然配置buildbot设置本身并不难,但这可以成为一种艺术,因为它基本上都是用Python编写脚本。
自从Hudson推出以来,我会建议使用它来运行持续集成。它有一个基于Web的界面(在我看来,这是CruiseControl的主要缺陷),而且在支持各种系统方面非常灵活。您可以轻松地调用基于命令行的构建,并且非常明显。话虽如此,我还没有使用Hudson和Xcode设置实例,而我已经为其他系统设置过,所以这部分是我推测的。