将 Firebase 功能用于 iOS 应用程序和网络管理员以及如何管理 Github 存储库

Using Firebase functions for iOS app and web admin and how to manage Github repo

我对 iOS 应用程序和网络管理员的 Firebase 功能有疑问。

所以..这是一个情况。

  1. 我正在努力构建一个管理页面来管理用户在 iOS 应用程序上的操作和请求。
  2. 对于 iOS 应用程序,其后端完全使用 firebase 构建。
  3. 所以有两个 Github 存储库,一个用于 iOS 应用程序,一个用于管理员,两个 index.js 用于 firebase 函数。还有一个 Firestore。

我担心的是...如果我在管理页面上执行“firebase deploy --only functions”而忘记提及 iOS 应用程序中使用的函数中的“不清除”函数,这可能会导致实时应用程序的问题。

因此,有人建议我在 iOS 应用程序的 index.js 中为管理员后端的 firebase 函数编写代码。

而且,我想知道在这种情况下最佳做法是什么 TT

Firebase 部署只会在您 (a) 使用 functions:delete CLI 命令或 (b) 如果您在部署前从 index.js 中删除函数时删除函数。当您 firebase deploy --only functions 时,它会部署任何新的并重新部署任何现有的。

如果您的意思是您的函数在两个不同的存储库中,那么您有两个选择:

  1. 将它们合并到一个存储库中 - 我不知道为什么您的 iOS 存储库中仍然有管理功能源代码。在客户端使用 Firebase 函数仅 调用 一个函数。源代码可以在别处。
  2. 但是假设您的源代码 需要 在多个存储库中(或者这就是您想要的方式),那么您永远不应该调用 firebase deploy --only functions。相反,设置您的部署工作流程或过程以在该存储库中部署特定功能,这样它就不会影响任何其他功能。像这样:
firebase deploy --only functions:iosFunc1,functions:iosFunc2
firebase deploy --only functions:adminFuncA,functions:adminFuncB

当您明确定义要部署的功能时,不会影响任何其他功能。

但我会认真考虑将功能后端代码与您的 iOS 客户端代码分开,除非出于其他原因,而不是消除可能向客户端泄露管理员凭据的可能性。