【发布时间】:2014-08-09 14:32:26
【问题描述】:
是否可以将 Git 存储库与 CI 服务器集成,这将测量测试覆盖率和一些其他参数,如果没有足够的测试,或者有很多非 DRY 代码,则拒绝提交?
【问题讨论】:
标签: git unit-testing continuous-integration tdd code-coverage
是否可以将 Git 存储库与 CI 服务器集成,这将测量测试覆盖率和一些其他参数,如果没有足够的测试,或者有很多非 DRY 代码,则拒绝提交?
【问题讨论】:
标签: git unit-testing continuous-integration tdd code-coverage
想到了 TeamCity 的预测试提交或延迟提交 - http://www.jetbrains.com/teamcity/features/delayed_commit.html
这可能是最好的解决方案。或者,您可以查看一个 git pre-receive 挂钩,它将驻留在 Git 服务器上并拒绝不满足某些条件的提交。但在服务器上运行整个构建之类的事情并不理想。
另一种选择是让开发人员设置一个pre-push 挂钩。这更像是一个安全网,并且不会阻止某人推动损坏的提交。但我想安全网就是所需要的。
【讨论】:
pre-push hooks 看起来是一个非常简单有趣的想法。谢谢。我在 git 方面不是很专业,但是是否可以编写类似的提交脚本,并且只接受来自该脚本的提交,但如果用户只是尝试进行纯 git 提交,那么它会被拒绝吗?跨度>