firebase - 如何将软件安装到已部署到的服务器上?

firebase - how do I install software onto a server I have deployed to?

我在使用 firebase 函数时遇到错误。当我 运行 这些功能在本地使用模拟器时,它们工作正常。但是当我 firebase deploy 并在随后执行某个函数时,我收到一个错误提示

如何在服务器上更新 ffmpeg(或任何软件)?也许我通过 SSH 连接到它并更新软件?也许我应该提供一些配置来定义我的代码在部署之前所依赖的软件?请告知如何完成更新谢谢

可选阅读:

我的 Node.js 代码使用 execSync(myFfmpegCommand) 这就是存在依赖关系的原因

这是我的发现。

您无法将自定义软件安装到 Node.js runtime environment 上,因为该磁盘是只读的。如果你想要的软件已经不在运行时环境中,那你就完蛋了。

我进一步发现函数不适用于重量级工作,而仅适用于轻量级操作。如果一个函数需要做一些繁重的工作,那么它可以要求 Google App Engine 为它做这件事。该函数通过 HTTP 或 PubSub 与 App Engine 通信。

我听到你问什么是 App Engine!它基本上允许您将服务器代码部署到云中。例如,考虑您通常用于后端的 express.js 服务器。这就是 App Engine。然后你只需部署它!

可以通过 yaml 文件配置 App Engine 来确定内存,还可以选择通过 Dockerfile 来确定要使用什么 OS 以及要安装什么软件。 yaml 如下所示:

runtime: custom # uses Dockerfile
env: flex

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

将 App Engine 视为举重者。当一个 firebase 函数想要做一些艰苦的工作时,它只是要求 App Engine 为它做这件事!通过这种方式,firebase 函数成为触发其他工作的简单事件处理程序。