【问题标题】:CircleCI Angular5 build is failing because the firebase secrets are missingCircleCI Angular5 构建失败,因为缺少 firebase 机密
【发布时间】:2018-03-28 03:11:31
【问题描述】:

我有一个使用 Typescript 的 Angular5 项目。在我的本地机器上,构建成功;但是,CircleCi 构建失败,因为代码中有一个指向 firebase.config.ts 文件的导入,该文件有我的凭据,我不想将其签入 Github 公共存储库。

代码库位于github

我的问题是如何设置 CircleCI 以便构建成功而无需公开 firebase.config.ts 文件?

【问题讨论】:

  • 如果我成为你们团队的一员,我会怎么做?我将如何构建项目?如果你能回答这个问题,你就可以配置你的构建服务器了。

标签: typescript angular5 circleci circleci-2.0


【解决方案1】:

您通常通过将凭据和类似的东西放入特定的环境变量中来将它们保存在配置之外,尤其是在存储库之外。这是基于https://12factor.net/

设置的最佳实践

通过这种方式,您可以轻松地在开发/测试/接受/生产环境之间拆分所需的设置和凭据。这还允许您打开某些功能,这些功能会使开发/测试更容易,但会降低安全性,这是验收和生产系统所必需的。

关于 CircleCI,他们提供了有关如何正确设置环境设置的文档: https://circleci.com/docs/2.0/env-vars/

如此有效,您不会想要公开您的配置文件。您希望它从 ENVIRONMENT 中读取,并确保您的 ENV settings 在本地开发系统的存储库之外。

更多关于使用ENV的基础知识:https://scotch.io/tutorials/how-to-use-environment-variables

【讨论】:

  • 您必须自己尝试查找内容才能学习。前 2 个 Google 结果我在 StackOverflow 上也得到了答案:我搜索了 typescript read environment variable
  • 您询问了有关读取环境变量的问题。这些可以通过多种方式设置。包括在CircleCI的环境中设置它们。将这些读入文件的方式是一个单独的问题,您可能会找到答案。考虑搜索 CircleCI 如何设置环境变量。
猜你喜欢
  • 1970-01-01
  • 2016-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多