我正在寻找用于开发 Java EE 应用程序的NWDI(SAP 的 Netweaver Development Infrastructure 的代表)源控制系统的替代品。主要是因为:
- NWDI 不是 DVCS:所以开发人员必须在线才能做任何事情。
- 用户界面:很难使用和培训开发人员使用该系统。
- 跟踪更改/生成报告:对此的支持非常有限。例如,我无法找出过去 2 周内更改了哪些项目(项目中的文件)。
- 代码审查:您可以进行代码审查,它有一个很好的 diff 实用程序。但仅此而已,没有办法将代码审查附加到更改请求中。
- 分支和合并非常痛苦。
但是,当前系统具有一些方便的功能:
自动构建:无需编写任何构建脚本,所有内容都是内置的。因此,当创建一个新的存储库(我们称之为轨道)时,它会根据创建时选择的组件类型(由存储库支持)自动配置构建。每当开发人员提交(激活更改)时,都会触发中央构建。无论构建的状态如何,现在都会对整个团队进行更改。
自动推送到中央测试服务器:在创建存储库时,您可以定义所有服务器(中央测试、QA、Prod)。开发人员可以通过单击按钮将他的更改推送到中央测试服务器。同样,一切都是内置的,不需要像在 Mercurial 中那样扩展任何钩子。
我正在探索Mercurial、Kiln,但找不到任何有用的东西。对于 mercurial Hooks可以用来做同样的事情,但我想需要一些定制工作。
有没有像 Mercurial 这样的酷 DVCS 也可以完成上述 2 项,还是我必须对其进行自定义才能使其工作?