在我的公司中,我建立了一个持续集成测试,并且当有人将代码推到服务器上时运行这些测试。
现在我想检查代码是否符合我们的基本编码规则,第一条规则是“在你的代码上运行mogrify!”
是否有什么东西可以自动进行此项检查?分析的输出可以保存在文件或其他地方。
谢谢
在我的公司中,我建立了一个持续集成测试,并且当有人将代码推到服务器上时运行这些测试。
现在我想检查代码是否符合我们的基本编码规则,第一条规则是“在你的代码上运行mogrify!”
是否有什么东西可以自动进行此项检查?分析的输出可以保存在文件或其他地方。
谢谢
pre-commit
钩子来运行测试并阻止提交。git commit --no-verify
绕过它)。pre-receive
钩子,以便在检测到工具未正确运行时拒绝推送。您的想法在服务器端应用可能有效,作为 pre-receive 钩子(意味着如果您检测到推送的代码与接收到的代码之间存在差异并且未格式化,则会拒绝推送)。
然后,这可以用作钩子,可以在本地pre-commit或服务器上pre-receive使用,甚至两者都可以。
或者,如果您担心开发人员实际运行了给定的工具,您总是可以在工具周围放置一个包装器,保存提交代码的一部分,例如MD5哈希值表示工具上一次运行时的代码点,然后编写pre-commit/receive钩子来检查该文件的MD5/哈希值是否与提交的代码相匹配。