有没有工具,这使得拉请求和组合评论防呆和安全的混帐?这个基于评论的Git工作流可以被Gerrit强制执行吗?
我知道有几个相关的问题已经在github上提出过了(参见:Using git for Code Reviews,Online Code Review Tool with Git Integration)。
在前面的问题中提出的解决方案具有很好的接口,但是在访问控制方面它们会失败。我们公司太小,不能强迫一个人审查代码或有专门的维护人员。因此,我们正在寻找一种工具来确保(或至少鼓励)代码在被推送到我们的中央存储库之前进行审查。
注意事项:绝对用户访问控制不是必需的,因为我们通常信任我们的员工。但是,我们希望禁止直接推送到我们的中央存储库,而不会限制推送给单个人的权限。
这样的工具(或工具和脚本的组合)应至少实现这些任务:在web界面上显示
- 化妆引入请求。 (gerrit达到这一点)
- 中央存储库链接到该工具,以便只读访问是可能的,但推送至少需要另一个人来检查和确认更改集。
- 负责审查和确认的人员可以是开发团队中的任意人员。
- 该工具必须自动检测(并拒绝)导致合并冲突的请求。
- 它不应该使用已知可以改变提交的SHA1哈希的git函数。
我提出这个解决方案:
- 使用格里特的拉请求和审查处理。
- gerrit应该始终拥有主人的克隆。
- 对于每个请求,gerrit检查这些补丁是否适用于没有冲突的主机(这将是一个脚本钩子,我不知道gerrit是否具有这些特性)。
- 中央存储库由具有shell访问权的特权用户(此处名为
gerrit
)拥有,并通过http公开。 - 每当其他人查看代码时,Web界面中都会有一个应用按钮,它会自动将更改推送到中央存储库。
不幸的是,我不知道gerrit和文档是稀缺的。有没有可能在gerrit中实现这个工作流程?是否有另一种工具可以满足这些要求?
你的购物清单应该用gerrit覆盖。安装并使用它,它并不疯狂。 – 2012-07-10 20:01:50
我只是建议让jenkins标志在gerrit中构建为'看起来不错',这样您就可以确保它编译/通过测试/无论您的构建指标如何。 – 2012-07-10 20:02:36
@honk:啊谢谢你!到目前为止,我并没有考虑持续整合。 – Alex 2012-07-10 20:04:06