1

我有一个谷歌应用引擎应用程序,它需要一个公私钥对。我不想将其签入源代码管理,因为太多人可以访问它。由于这是 GAE,我不能使用构建系统将密钥写入服务器的文件系统。

是否有已知的最佳实践?我的第一个想法是 Jenkins 是否提供了一种安全管理密钥的方法?我知道我可以将密钥复制到 jenkins 服务器上的某个位置并将它们复制到构建中,但是该项目将由第三方团队使用,因此我需要在 jenkins 中提供基于 UI 的解决方案。我没有找到任何相关的插件,但我想确保在编写自己的插件之前没有更好的方法。

4

2 回答 2

1

当然,有几种方法可以解决这个问题。我相信证书是管理员而不是开发人员关心的问题。

我们所做的是有自定义管理页面,我们将证书上传到单独命名空间下的 blobstore。然后我们有一个内部“服务”(只是一个简单的工厂),以便其他代码可以检索证书。

于 2012-09-20T06:22:25.903 回答
1

如果您乐于使用基于云的 Jenkins,我们 (CloudBees) 在appengine.cloudbees.com上有一个基于 oauth 的解决方案

你可以自己滚。它并不过分棘手。您将需要

  1. 注册 google 的 api 控制台以获取客户端密钥和机密并定义您的应用程序将显示为的端点

  2. 如果将这些凭据提供给您的 Jenkins 构建,请编写一些方法。我建议使用凭据插件

  3. 要么编写一个构建包装器,将刷新令牌暴露给您的构建(python sdk 部署),要么暴露访问令牌(java sdk ... 很高兴这两个 sdk 以不同的方式做同样的事情)

或使用我们的免费服务;-)

于 2012-10-01T18:11:46.540 回答