9

我们在 Github 中有一个帐户,并在 Github(私人存储库)中托管我们所有的项目。

我们希望强制执行编码标准以及可能用于内部目的的其他钩子。由于存储库位于一个地方,因此我们已经让这些挂钩非常适合 subversion,管理这些挂钩非常好。

使用 Github,看起来我无法在主存储库中添加我的钩子(?),因此我很震惊:

  1. 当每个成员将更改的文件推送到主存储库时,我如何对他们强制执行编码标准?
  2. Github 上有什么方法可以在我的服务器处理任何推送请求之前执行我的钩子吗?

我正在寻找让我的生活更轻松的想法/建议,非常感谢任何帮助。

4

2 回答 2

2

我认为这不是 VCS 的工作。问题是帮助执行编码标准的工具通常与源代码一起工作,有时与二进制文件一起工作。例如在 Java 中 checkstyle 可以在源代码上运行,但 findbugs 需要源代码 + 编译代码。但据我了解,在补丁上运行此类工具还不够有效。这些工具需要上下文。

所以我建议创建一个像 Jenkins 这样的持续集成服务器实例,如果有新的变化,让它从 Github 签出代码,编译并运行静态分析工具,构建结果应该发送给所有团队成员。它不仅会为您提供有关已正确编码的推送更改的反馈,而且如果从构建的角度来看代码是稳定的,它还会提供有益的反馈。

于 2012-10-18T14:30:08.563 回答
0

就像 Eugene 说的,我不确定这是否真的是 VCS 的任务。(但可能有一个地方可以挂钩)。

由于您使用的是 Github,您熟悉Commit Status API吗?这样你就可以设置一个服务(比如 Jenkins),它会自动检查编码风格,例如运行单元测试,这样你就可以看到拉取请求是“干净的”还是“安全的”。

于 2012-10-18T14:36:41.813 回答