不要删除 firebase 云函数
Don't delete firebase cloud funtions
我正在将 gitlab 上的 CD 进程配置为 google 云函数 (firebase)。
我还有 3 个环境(开发、暂存和生产),我想用匹配的后缀(_development、_staging)部署每个函数。
当我将函数部署到开发中时,例如,从我的本地机器使用命令
firebase deploy --only functions
它总是问我
Would you like to proceed with deletion? Selecting no will continue the rest of the deployments.
我选择"No",因为我不想删除带有其他后缀的现有函数。但是在 gitlab 上无法输入 "No" 并且它决定删除所有默认的功能。
有什么解决方案可以不删除云端已有的函数吗?可能是 deploy 命令中的一些标志?
Firebase 团队不推荐您管理环境的方式。您应该使用不同的项目来隔离不同的环境,如 documentation.
中所述
但是,如果您绝对不能对您正在做的事情进行任何更改,您将需要做的是调出每个要部署的函数的名称,如 documentation 中所述:
By default, the Firebase CLI deploys all of the functions inside
index.js at the same time. If your project contains more than 5
functions, we recommend that you use the --only flag with specific
function names to deploy only the functions that you've edited.
Deploying specific functions this way speeds up the deployment process
and helps you avoid running into deployment quotas. For example:
$ firebase deploy --only functions:addMessage,functions:makeUppercase
或者,您可以使用 function groups。
我正在将 gitlab 上的 CD 进程配置为 google 云函数 (firebase)。 我还有 3 个环境(开发、暂存和生产),我想用匹配的后缀(_development、_staging)部署每个函数。
当我将函数部署到开发中时,例如,从我的本地机器使用命令
firebase deploy --only functions
它总是问我
Would you like to proceed with deletion? Selecting no will continue the rest of the deployments.
我选择"No",因为我不想删除带有其他后缀的现有函数。但是在 gitlab 上无法输入 "No" 并且它决定删除所有默认的功能。
有什么解决方案可以不删除云端已有的函数吗?可能是 deploy 命令中的一些标志?
Firebase 团队不推荐您管理环境的方式。您应该使用不同的项目来隔离不同的环境,如 documentation.
中所述但是,如果您绝对不能对您正在做的事情进行任何更改,您将需要做的是调出每个要部署的函数的名称,如 documentation 中所述:
By default, the Firebase CLI deploys all of the functions inside index.js at the same time. If your project contains more than 5 functions, we recommend that you use the --only flag with specific function names to deploy only the functions that you've edited. Deploying specific functions this way speeds up the deployment process and helps you avoid running into deployment quotas. For example:
$ firebase deploy --only functions:addMessage,functions:makeUppercase
或者,您可以使用 function groups。