【问题标题】:Firebase deploy function --non-interactiveFirebase 部署功能 --non-interactive
【发布时间】:2019-02-05 09:50:09
【问题描述】:

我正在集成 CI/CD 以部署我的 firebase 功能。

firebase use PROJECTID --token FIREBASE_TOKEN
firebase deploy --token FIREBASE_TOKEN --non-interactive

现在每当从 index.js 中删除一个函数时,它都会引发以下异常。

错误:在您的项目中找到以下函数,但未找到 存在于您的本地源代码中:httpSeeding(us-central1) Aborting 因为在非交互模式下无法进行删除。修理, 通过运行手动删除函数:firebase functions:delete httpSeeding --region us-central1

在非交互模式下有没有办法在不运行的情况下从控制台中删除已删除的函数 firebase functions:delete httpSeeding??

【问题讨论】:

标签: firebase google-cloud-firestore google-cloud-functions firebase-cli


【解决方案1】:

使用 -f 选项运行 deploy,它应该删除 非交互模式下的额外功能

firebase deploy --token FIREBASE_TOKEN -f

从通过运行firebase help deploy 获得的文档中,我们看到以下选项:

 -f, --force delete Cloud Functions missing from the current working directory without confirmation

【讨论】:

  • 我试过“firebase deploy --token my_token -f --non-interactive”,但它给出了错误“未知选项`-f'”
  • 请检查,不需要使用--non-interactive
  • 另外,你的 firebase cli 版本是什么?
  • 但我必须使用“--non-interactive”,因为它用于自动化 CI/CD。
  • firebase 工具@6.3.0
【解决方案2】:

只需从您的 shell 运行相同的部署命令。它会自动删除源中缺少的函数。

您还可以直接从云控制台删除函数。

【讨论】:

  • 我不想在自动过程中从控制台手动删除它。而且,仅运行“deploy”命令有效,但我将其集成到 CI/CD 中,因此我必须在“deploy”中添加“--non-interactive”,这给了我上述错误。
  • 如果 CLI 不能满足您的需求,请提交功能请求并附上您的用例详细信息。 firebase.google.com/support/contact/bugs-features
猜你喜欢
  • 2017-11-15
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 2017-08-14
  • 2019-03-06
  • 2021-12-01
  • 2021-11-17
相关资源
最近更新 更多