我有一个当前私有的回购。我的Firebase部署令牌在CircleCI GUI中存储为Env Var。 CircleCI 2.0文档清楚地说明了
不要向公共CircleCI项目添加密钥或秘密
另外,根据我在常见问题解答中可以找到的内容,如果相关的GitHub仓库公开,CircleCI项目将公开。
现在,我打算在GitHub上开源项目,它会让CircleCI中的Env Var对任何人都可见,因为CircleCI项目将公开吗?
如果Env Var公开可见,那么保持我的部署令牌对其他人隐藏的建议方法是什么?我是否必须采用像GCP KMS这样的解决方案?
答案 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是一种选择。