用于公共回购的CircleCI 2.0私有环境密钥

时间:2017-08-07 08:30:01

标签: firebase github continuous-integration circleci google-cloud-kms

我有一个当前私有的回购。我的Firebase部署令牌在CircleCI GUI中存储为Env Var。 CircleCI 2.0文档清楚地说明了

  

不要向公共CircleCI项目添加密钥或秘密

另外,根据我在常见问题解答中可以找到的内容,如果相关的GitHub仓库公开,CircleCI项目将公开。

现在,我打算在GitHub上开源项目,它会让CircleCI中的Env Var对任何人都可见,因为CircleCI项目将公开吗?

如果Env Var公开可见,那么保持我的部署令牌对其他人隐藏的建议方法是什么?我是否必须采用像GCP KMS这样的解决方案?

2 个答案:

答案 0 :(得分:1)

CircleCI员工澄清了this for me on their forums

  

该警告适用于配置[.yml]。您可以安全地使用基于UI的CircleCI环境变量。

     

如果回购/项目是公开的,您只需要确保:

     
      分叉构建中的
  • envars在设置中被关闭
  •   
  • 你根本不回显/打印这些变量来构建输出,因为公众可以看到这些变量
  •   

因此,可以在CircleCI GUI中安全地配置部署密钥的公共仓库(以及公共CircleCI项目)。

答案 1 :(得分:0)

听起来你正在使用CircleCI作为你的回购,但你的项目的开源版本不需要像Firebase这样的部署工具。如果这是正确的,那么您应该将Firebase部署令牌保存在方便且安全的地方。

听起来好像你现在只是将部署令牌直接保存在你的仓库中,因为那是私有的。如果您的仓库中只有一些秘密,git-crypt之类的东西可能会满足您的需求。一旦你达到更大的音量,你可能会想要集中的东西,并且使用Cloud KMS to encrypt secrets是一种选择。