如何为 Firebase 取消部署 Cloud Functions?

Posted

技术标签:

【中文标题】如何为 Firebase 取消部署 Cloud Functions?【英文标题】:How do you un-deploy Cloud Functions for Firebase? 【发布时间】:2017-08-08 00:48:24 【问题描述】:

我正在试验 Cloud Functions for Firebase,并在 functions-samples repo 中部署了一个示例,并使用 firebase use --add 将其链接到现有项目。

因为我只是在玩,这些文件并没有添加到我的版本控制中,我不再可以访问执行此操作的机器。我想在此功能的基础上构建或创建新功能,但我不确定如何 1)修改并重新部署原始功能或 2)取消use --add 并重新开始。我在我的 firebase 控制台中看到了该功能,但没有“删除”或“删除”按钮,并且通读了 CLI 文档以寻找无济于事的线索。

感谢您向 firebase 'stack' 添加功能。非常感谢任何指导。

【问题讨论】:

【参考方案1】:

函数在firebase deploy 期间不存在时将被删除。最常见的原因是因为您从 index.js 中删除了该函数,但如果您删除了整个 functions 目录,它也可以工作。

要继续处理您不再拥有源代码的函数,最简单的方法是重新开始。您部署的功能将替换您之前部署的功能。

或者,如果您偏爱使用 Google Cloud Console 而不是 Firebase Console,Cloud Console 会显示当前部署的函数的代码,以便您可以将其复制粘贴到本地计算机上。

Cloud Console 还为每个功能提供了一个“删除”按钮,甚至还有一个网络编辑器。但在从 Cloud Console 编辑函数时请注意:您的下一个 firebase deploy 将覆盖所有更改。

【讨论】:

谢谢!不确定您是否是 firebaser,但如果有人在听,我建议您在 CLI 或函数文档中指定 firebase 正在您运行 firebase deploy 的目录中寻找 functions 目录。 是的,Firebaser 在这里。感谢您的建议,我将与文档的作者一起讨论! :) 您好,我想永久删除这些功能,有什么帮助吗?我找不到删除的按钮或选项。 functions/index.js 中删除函数并运行firebase deploy 应该可以解决问题! 感谢您的回答。有类似firebase undeploy --only functions 的东西会很好【参考方案2】:

要删除/取消部署单个函数,您可以删除函数的代码,然后在命令行中运行以下命令:

firebase deploy --only functions:YourFunctionName

YourFunctionName 替换为您的函数名称

如果您正在处理尚未准备好部署的其他功能,或者出于任何原因不想部署所有功能,那么上面的代码可能会很方便。这也感觉更安全一些,因为您没有重新部署所有内容:)

【讨论】:

您很可能需要指定 --force 选项github.com/firebase/firebase-tools/blob/master/src/commands/… 如果不添加--force,它会询问您是否确定要删除该功能。如果您添加--force,它不会询问。我更愿意让它问我,但如果你不喜欢它,你可以添加--force 在非交互模式下对我来说很有意义【参考方案3】:

转到Google Cloud Console Cloud Functions 并选择项目,然后选择要取消部署或删除的功能。选择它并单击删除。

【讨论】:

【参考方案4】:

要显式删除函数,请使用以下命令:

$ firebase functions:delete myFunction

myFunction 替换为您的函数名称。有关详细信息。请点击此链接:https://firebase.google.com/docs/functions/manage-functions

【讨论】:

请注意,您需要最新的 firebase-tools 来执行此操作。目前4.1.1。我的问题是 3.x 没有删除。【参考方案5】:

现在您可以简单地从函数仪表板中删除一个函数,如下所示。点击右上角相关功能的三点标记。

【讨论】:

很遗憾,“删除功能”不再可用。我们需要选择'Detailed usage stats',然后它会带你到console.cloud.google.com,然后从控制台中删除该函数

以上是关于如何为 Firebase 取消部署 Cloud Functions?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Cloud Build 用于 Cloud Run 部署的 Cloud Storage 存储分区指定区域?

如何为 Firebase 添加通知服务扩展?

如何为 Firestore 数据库的 Cloud Functions 中的每个集合插入、更新添加时间戳

如何为 Google Cloud Scheduler 设置基本身份验证

Cloud Functions for Firebase 组织

Flutter Firebase Cloud Messaging 如何自动关闭/取消通知?