【问题标题】:What can CruiseControl .net (or any CI server) do that MSBuild or NAnt can't?CruiseControl .net(或任何 CI 服务器)能做什么 MSBuild 或 NAnt 不能?
【发布时间】:2010-06-22 21:02:06
【问题描述】:

我问这个问题是因为我发现社区对各种构建引擎(如 MSBuild 和 NAnt)的贡献确实包括促进 CI 服务器的所有任务,例如从源代码控制获取版本、清理文件夹、更改构建号、发送电子邮件等...

仅仅是因为它“侦听”源代码控制存储库中发生的更改吗?我还缺少什么?

【问题讨论】:

    标签: msbuild nant continuous-integration


    【解决方案1】:

    Grzegorz Oledzki 链接了一个很好的资源来查找多个 CI 解决方案之间的差异,但应该注意的是,MSBuild 的目的是专门将代码转换为二进制文件,并被 CI 软件用于构建源代码。它确实可以做其他事情,但它的大部分任务都在这个领域内。

    除了你提到的关于监听 repo 的内容之外,一些 CI 服务器可以做各种各样的事情,比如^1:

    • 多代理构建(不只是多核,msbuild 可以做到这一点,但多机)
    • 监控构建状态
    • 通知(电子邮件/短信/rss/whatnot)
    • 为损坏的构建分配责任
    • 管理功能
    • 支持 XFD(极端反馈设备)
    • 自动部署

    而且通常都来自一个方便的用户界面。

    1 并非所有 CI 软件都具有所有这些功能,它绝不是详尽无遗的,并且存在一些重叠。

    【讨论】:

      【解决方案2】:

      我相信CI (Continuous Integration) feature matrix 会回答您关于特定 CI 提供商及其能力的所有问题。

      【讨论】:

        【解决方案3】:

        哇,这个问题有这么多答案。至于 CI 系统可以做什么,构建脚本除了听你的版本控制系统之外不能做......对于初学者来说,像 TeamCity 这样的系统可以让你首先在构建服务器上测试你的代码,然后在如果它通过了初学者的所有测试。

        我强烈建议使用 CI 服务器,但我更喜欢将所有构建逻辑保存在 MSBuild 文件中,并将所有失败时通知的人等保存在 CI 服务器中。将逻辑保留在 Build 文件中有助于您在自己的机器上重现构建,并使在 CI 服务器中设置新项目或更改 CI 服务器构建项目的方式变得简单

        【讨论】:

          猜你喜欢
          • 2010-11-14
          • 2011-02-17
          • 1970-01-01
          • 1970-01-01
          • 2021-11-12
          • 2018-11-03
          • 1970-01-01
          • 2011-01-05
          • 1970-01-01
          相关资源
          最近更新 更多