免责声明:我在 Bamboo 工作,因此我不会评论其他 CI 产品的功能,因为我对它们的经验有限。
回答您的具体要求:
处理多种语言
Bamboo 开箱即用地支持多种语言。客户将它与 Java、.Net、PHP、JavaScript 等一起使用。话虽如此,大多数构建服务器都足够通用,至少可以执行可以启动构建过程的脚本。
将工件部署到服务器(即,如果所有单元测试都通过,则部署战争。)
Bamboo 2.7 支持构建阶段,它允许您将构建分解为单元测试阶段和部署阶段。只有当单元测试阶段成功时,构建才会进入部署阶段。在Bamboo 3.0中,我们将支持 Stage 之间的 Artifact 共享,允许您在第一个 Stage 中创建一个 Artifact(例如您的战争),并在接下来的 Stage 中使用该 Artifact 进行测试和部署。
我还想要一些与体面的代码覆盖工具集成的东西。
Bamboo 带有对Clover的支持,并且还有一个可用于Cobertura的插件。
好看的报告很好,但不是必需的。
Bamboo 有一大堆很好的报告,但不是必需的 :)
出现问题时的多种通知机制。
Bamboo 可以通过电子邮件、RSS、IM、IDE 插件或对整个团队可见的漂亮墙板通知您。
我不担心托管。我将在本地服务器或 Amazon 实例上运行它。
根据经验,托管自己的 CI 服务器通常更便宜。但是,如果您需要扩展,Bamboo 可以轻松地将您的构建分发到其他本地代理或通过 Elastic 代理扩展到 Amazon。
此外,这可能是天上掉馅饼,但有什么东西也可以构建 iPhone 应用程序吗?
与第一个问题的答案类似,大多数 CI 服务器将能够以某些方式构建 iPhone 应用程序。不过,可能需要更多的脚本。
价格: Bamboo 不是免费的(除了我们的免费入门许可证)/libre/open-source,但如果您购买商业许可证和全面支持,您将获得 Bamboo 的源代码。与 CI 服务器所需的计算能力和潜在维护成本相比,Bamboo 许可证的成本相当低。
希望这可以帮助。