【发布时间】:2023-04-11 07:49:02
【问题描述】:
Github supports 使用 PGP 密钥对提交进行签名。
我们有一个开源项目,它接受没有 PGP 密钥的人的贡献者。安全性对我们来说至关重要,因此我们决定每个合并拉取请求的人都将使用他的 PGP 密钥签署 merges,因此每个实际提交都将由作者直接签名,和/或通过合并。
设置持续集成构建以确保这确实发生的最佳方法是什么?如果有人将代码提交或合并到主存储库中,我们希望构建失败,警报响起,并且可能恢复提交/合并,而不使用给定授权密钥列表中的 PGP 密钥对其进行签名。
我们正在使用 github,所以我想知道 github hooks 是否有帮助。我相信我们将 Jenkins 用于 CI,但这可能并不重要,因为它将是一个自定义脚本。
澄清一下:该项目接受来自开源开发人员的贡献,我们不会要求每个人都有 PGP 密钥。但是,在 github 中拥有合并权限的每个人必须拥有 PGP 密钥,而我建议的构建将验证这一点。合并提交本身将是 PGP 签名的,即使不是每个提交都是。
【问题讨论】:
标签: git github jenkins continuous-integration pgp