Xcode项目的持续集成?

Mik*_*ers 56 iphone xcode continuous-integration cruisecontrol xcodebuild

在使用Hudson与之前的项目持续集成之后,我想为我正在研究的iPhone项目设置一个持续集成服务器.在做了一些研究之后,看起来没有专门为Xcode设计的CI引擎,但是有一个人使用Cruise Control和xcodebuild CLI工具取得了成功.这里有人试过吗?有没有适合Xcode项目的CI引擎?

我可能会试试Cruise Control.我会用我的发现发表一个答案.

小智 37

我用xcodebuild在mac上成功使用Hudson.随着3.0 iPhone sdk的发布,您可以控制要针对项目构建的目标,配置和sdk.

它就像在hudson中创建构建步骤并告诉xcodebuild构建项目一样简单:

xcodebuild -target "myAppAppStore" -configuration "DistributionAppStore" -sdk iphoneos2.1
Run Code Online (Sandbox Code Playgroud)

前期工作为我带来了回报,因为我的构建工作没有任何额外的想法.如果有兴趣的话,我已经在我的博客上写了详细的描述.

iPhone应用程序分发变得简单


Cir*_*yon 13

恢复这个线程.我没有找到一个令人满意的解决方案,在构建服务器上通过单元测试获得自动XCode构建,因此我做了一些调查和编码.结果是这篇博客文章解释了所有这个Ruby脚本,它将OCUnit输出从xcodebuild转换为JUnit用于测试报告的XML格式.我选择的构建服务器是Hudson.

2012年3月2日更新:我已更新此内容以使用一些自定义shell脚本进行构建和运行.可在这里.它不仅适用于持续集成,还适用于您自己机器上的命令行构建.


Col*_*ett 9

Adium 非常有效地使用buildbot和Xcode.我们写了一个简单的makefile,用适当的目标和配置调用xcodebuild,但我很确定这是可选的.

  • Adium岩石!(呃......对于非主题评论感到抱歉.无法抗拒表达赞赏的机会) (5认同)

Raf*_*ski 9

Apple刚刚发布(2013年6月10日)OSX Mavericks(OS X 10.9)一个新的持续集成平台,这是我之前见过的最集成的持续集成解决方案.它可以从developer.apple.com获得,此页面的详细信息如下:

https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/

我建议看看有关该主题的wwdc 2013演示文稿.


hec*_*ckj 8

我已经将CruiseControl与Xcode一起使用(类似于Pragmatic Automation建议的那样)并取得了相当的成功.我也非常熟悉CruiseControl,它的配置格式相对可怕.

我也使用BuildBot效果很好,但发现它的优势并不能真正满足我的需求(分布式奴隶构建和报告跨多个不同的系统).配置buildbot设置本身就是一门艺术,虽然并不困难.它基本上都是用python编写脚本的.

自Hudson推出以来,我建议将其作为运行持续集成的途径.它有一个基于Web的界面(CruiseControl在我的脑海中的主要缺陷),并且在它支持的各种系统中非常灵活.您可以非常轻松且非常明显地调用命令行驱动的构建.也就是说,我没有使用Hudson和Xcode建立一个实例,我已经为其他系统设置了实例,所以这是我的部分猜测.


cat*_*lan 5

我认为你应该仍然可以使用 Hudson。Hudson 非常灵活,还允许您使用 shell 脚本进行构建:Shell 脚本和 Windows 批处理命令

只需输入 xcodebuild 即可。查看 xcodebuild 手册页,了解 xcodebuild 的选项。


Jef*_*ick 5

如果您不介意生活在最前沿,我刚刚为 CruiseControl 提交了一个xcode 构建器