3

我有一个目前是私有的回购。我的 Firebase 部署令牌作为 Env Var 存储在 CircleCI GUI 中。CircleCI 2.0 文档明确指出

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

此外,从我在常见问题解答中可以找到的内容来看,如果相关的 GitHub 存储库被公开,CircleCI 项目就会被公开。

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

如果 Env Var 是公开可见的,有什么建议的方法可以让我的部署令牌不被其他人看到?我是否必须求助于 GCP KMS 之类的解决方案?

4

2 回答 2

1

CircleCI 员工在他们的论坛上为我澄清了这一点

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

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

  • 分叉构建中的 envars 在设置中被关闭
  • 您根本不会回显/打印这些变量来构建输出,因为这可能对公众可见

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

于 2017-08-16T14:48:40.217 回答
0

听起来您正在将 CircleCI 用于您的存储库,但您的项目的开源版本不需要像 Firebase 这样的部署工具。如果这是正确的,那么您应该将 Firebase 部署令牌保存在任何对您来说方便且安全的地方。

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

于 2017-08-07T16:43:15.983 回答