【问题标题】:Firebase partial deploy multiple grouped functionsFirebase 部分部署多个分组函数
【发布时间】:2021-06-21 00:14:22
【问题描述】:

我正在尝试使用以下命令一次部署多个分组的云功能

firebase deploy --only functions:groupName.functionName,functions:groupName.anotherFunctionName

但是它只是跳过了这些功能的部署。如果我像这样单独部署它们 firebase deploy --only functions:groupName.functionNamefirebase deploy --only functions:groupName.anotherFunctionName 一个接一个地被部署。我希望能够在一个命令中完成。

是我遗漏了什么还是这个功能还没有内置?

编辑

我也尝试了以下命令,结果相同:

firebase deploy --only functions:groupName.functionName,groupName.anotherFunctionName

编辑

也许我们的函数在functions/index.ts中声明的方式有些不同:

exports.authentication = require('./authentication')

functions/authentication.ts:


exports.createCustomToken = functions
    .region('europe-west1')
    .https
    .onCall(async (data: any, context: any) => {/*...*/})

exports.anotherFunction= functions
    .region('europe-west1')
    .https
    .onCall(async (data: any, context: any) => {/*...*/})

这将导致命令

firebase deploy --only functions:authentication.createCustomToken,authentication.anotherFunction

【问题讨论】:

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


    【解决方案1】:

    它不起作用,因为您要在要部署的每个函数之前添加命令的 functions: 部分。

    正如您在documentation 中看到的那样,要指定组中的每个函数,您只需以deploy --only functions:groupA.function1,groupB.function4 的格式声明它,因此适用于您的情况,如果您使用以下命令,它应该可以工作:

    firebase deploy --only functions:groupName.functionName,groupName.anotherFunctionName
    

    【讨论】:

    • 感谢您的回复@Rafael!我应该指定我已经尝试过了。但是,如果我省略第二个 functions: 部分,它也会跳过这两个函数的部署。
    • 好吧,在这种情况下,您所做的一切都是正确的。我想说您应该联系Firebase Support,因为这似乎不是 Firebase Cli 的预期行为
    • 再次感谢!我会在周末试试。我还更新了我自己如何实现云功能的问题。也许您可以查看功能“分组”的方式是否错误,因为它们在单独部署时工作正常。
    • 它们的声明似乎是正确的,这两个是该组中唯一的函数吗?如果是这样,您可以使用firebase deploy --only functions:authentication 部署整个组。
    • 该组包含更多功能,我只想一次部署 2 或 3 个我正在处理的功能。我将看看这是否可能是 Firebase 支持的错误。感谢您抽出宝贵时间查看我的问题。
    【解决方案2】:

    部署属于一个组的多个单一云功能的正确方法是这样的:

    firebase deploy --only functions:groupName.functionName,functions:groupName.anotherFunctionName
    

    正如 Rafael Lemos 在他的帖子中指出的那样,现在可以在 the official documentation 中找到它。

    如果它不适合您,您可能需要重新设置节点环境和 Firebase CLI 工具。这对于 Node Version Manager NVM 来说是一件轻而易举的事。安装最新的 LTS 版本和nvm use --lts 和以下npm i -g firebase-tools 应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 1970-01-01
      • 2013-06-09
      • 2022-01-09
      • 1970-01-01
      • 2017-12-12
      • 2018-09-13
      相关资源
      最近更新 更多