我问这个问题是因为我发现社区对各种构建引擎(例如 MSBuild 和 NAnt)的贡献确实包括促进 CI 服务器的所有任务,例如从源代码控制获取版本、清理文件夹、更改构建号、发送电子邮件等...
这仅仅是因为它“监听”源代码控制存储库上发生的更改吗?我还缺少什么?
最佳答案
Grzegorz Oledzki 链接了一个很好的资源,用于查找多个 CI 解决方案之间的差异,但应该注意的是,MSBuild 的目的是专门将代码转换为二进制文件,并由 CI 软件用来构建源代码。确实,它可以做其他事情,但它的大部分任务都在这个领域内。
除了您提到的监听存储库之外,一些 CI 服务器还可以执行各种操作,例如 ^1:
- 多代理构建(不仅仅是多核,msbuild 可以做到,而且是多机)
- 监控构建状态
- 通知(电子邮件/短信/RSS/诸如此类)
- 为损坏的构建分配责任
- 管理功能
- 支持 XFD(极端反馈设备)
- 自动部署
通常都是通过方便的用户界面实现的。
1 并非所有 CI 软件都具有所有这些功能,这绝不意味着详尽无遗,并且存在一些重叠。
关于msbuild - CruiseControl .net(或任何 CI 服务器)可以做什么 MSBuild 或 NAnt 不能做的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3097118/