Github支持使用PGP密钥对提交进行签名。
我们有一个开源项目,接受没有PGP密钥的人的贡献。安全对我们至关重要,因此我们决定每个合并拉取请求的人都将使用自己的PGP密钥签署合并请求,因此每个实际提交将直接由作者和/或合并方直接签署。
如何设置持续集成构建来确保这确实发生?如果任何人在没有用给定的授权密钥之一对代码进行签名的情况下提交或合并代码到主存储库中,则我们希望构建失败,警报响起,并可能撤销提交/合并。
我们正在使用Github,所以我想知道是否可以使用Github Hooks来帮助。我认为我们正在使用Jenkins进行CI,但是这可能无关紧要,因为它将是一个自定义脚本。
澄清一下: 该项目接受来自开源开发者的贡献,我们不需要每个人都有PGP密钥。但是,在github上具有合并权限的每个人必须拥有PGP密钥,并且我提议的构建将验证此密钥。即使不是每个提交都进行签名,合并提交本身也将进行PGP签名。