如何为 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 存储分区指定区域?
如何为 Firestore 数据库的 Cloud Functions 中的每个集合插入、更新添加时间戳
如何为 Google Cloud Scheduler 设置基本身份验证