如何将一些功能部署到Cloud Functions for Firebase而不影响其他功能?

u5i3ibmn  于 2023-01-31  发布在  其他
关注(0)|答案(7)|浏览(141)

当我奔跑
firebase deploy --only functions
它读取index.js文件并更新从该文件导出的所有函数。如果在以前的部署中有一个名为a的函数,而在当前部署中没有这样的函数,则a将被删除。
换句话说,效果就像删除了所有现有函数,然后添加了当前index.js文件中的所有函数一样。
是否可以添加/更新/删除单个功能?

jdg4fx2g

jdg4fx2g1#

Firebase CLI工具3.8.0增加了部署特定功能的功能。
firebase deploy --only functions:func1,functions:func2

--only <targets>     
only deploy to specified, comma-separated targets (e.g. "hosting,storage"). For functions, 
can specify filters with colons to scope function deploys to only those functions (e.g. "--only functions:func1,functions:func2"). 
When filtering based on export groups (the exported module object keys), use dots to specify group names 
(e.g. "--only functions:group1.subgroup1,functions:group2)"
lc8prwob

lc8prwob2#

下面的方法可以在不影响其他函数的情况下部署特定函数,其中specificFunctionName是我想要部署的函数

firebase deploy --only functions:specificFunctionName

要在终端中快速复制命令:

firebase deploy --only functions:
ovfsdjhp

ovfsdjhp3#

  • 这里是火战士 *

目前无法使用Firebase CLI部署单个函数。运行"firebase deploy"将部署所有函数。
我们最近讨论过部署功能的子集,但目前还没有--我们也不能给出一个大概的时间。

    • 更新**自Firebase CLI发布以来,可以部署单个功能。请参见yuku's answer
wdebmtf2

wdebmtf24#

firebase deploy --only "functions:<fileName>.<functionName>"

文件夹结构示例:

functions 
  node_modules
  index.js
  smsNotification.js
  ...

您可以只重新部署文件中的函数

firebase deploy --only "functions:smsNotification.sendChatNotif"

您可以使用以下命令重新使用文件中的所有函数

firebase deploy --only "functions:smsNotification"
yrefmtwq

yrefmtwq5#

直到我尝试了@Sergey Mell在他的评论中提到的东西,我才设法让它工作起来(而且我的firebase.json中没有codebase属性):

firebase deploy --only "functions:func1,functions:func2"

周围的双引号解决了这个问题。

qkf9rpyu

qkf9rpyu6#

如果有人仍然无法使用firebase deploy --only functions:func1,functions:func2,这可能是因为您可能在firebase.json中使用了代码库"codebase": "my-codebase"。我花了一些时间来诊断,但在删除该代码库属性后,仅部署使用--only标志的一些函数对我来说是有效的

hmae6n7t

hmae6n7t7#

这一个给了我丢失的包。虽然包被包括在内,但我不得不重新安装提到的包。
firebase --调试部署--仅限函数:[函数名称]

相关问题