Firebase 不部署新功能,因为它无法删除旧功能?我不能以某种方式忽略缺少的功能吗?



我有一个基于节点的 rest api 应用程序,它运行在单个 firebase 函数上,我正在尝试设置一个 CD 管道来部署一个暂存函数和另一个生产函数。

我发现让它工作的唯一方法是有一个"production.ts"和"staging.ts",并在每个管道中将相关的重命名为 index.ts。

这有效并且成功,但由于它在那里找不到其他函数,它不会发布新函数,而是会还原所有内容?

这是我上次运行的控制台输出:

functions: creating Node.js 10 function StagingAPI (europe-west2)...
Error: The following functions are found in your project but do not exist in your local source code:
ProductionAPI (europe-west2)
Aborting because deletion cannot proceed in non-interactive mode. To fix, manually delete the functions by running:
firebase functions:delete ProductionAPI --region europe-west2

如何在没有另一个完全独立的火力基地项目的情况下以不同的方式实现这一目标?

我可以看到 github 上有一些关于它的讨论,甚至还有一个拉取请求试图通过提供一个标志来解决这个问题:--ignore-existing-functions

但它看起来并不像会被合并。

这一定是一个常见问题。

如果要部署单个函数并忽略不属于部署集的现有函数,只需将--only与以下语法一起使用:

firebase deploy --only functions:name-of-function

但总的来说,为不同的环境提供不同的项目要好得多。

最新更新