将 Firebase 功能用于 iOS 应用程序和网络管理员以及如何管理 Github 存储库
Using Firebase functions for iOS app and web admin and how to manage Github repo
我对 iOS 应用程序和网络管理员的 Firebase 功能有疑问。
所以..这是一个情况。
- 我正在努力构建一个管理页面来管理用户在 iOS 应用程序上的操作和请求。
- 对于 iOS 应用程序,其后端完全使用 firebase 构建。
- 所以有两个 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
时,它会部署任何新的并重新部署任何现有的。
如果您的意思是您的函数在两个不同的存储库中,那么您有两个选择:
- 将它们合并到一个存储库中 - 我不知道为什么您的 iOS 存储库中仍然有管理功能源代码。在客户端使用 Firebase 函数仅 调用 一个函数。源代码可以在别处。
- 但是假设您的源代码 需要 在多个存储库中(或者这就是您想要的方式),那么您永远不应该调用
firebase deploy --only functions
。相反,设置您的部署工作流程或过程以在该存储库中部署特定功能,这样它就不会影响任何其他功能。像这样:
firebase deploy --only functions:iosFunc1,functions:iosFunc2
firebase deploy --only functions:adminFuncA,functions:adminFuncB
当您明确定义要部署的功能时,不会影响任何其他功能。
但我会认真考虑将功能后端代码与您的 iOS 客户端代码分开,除非出于其他原因,而不是消除可能向客户端泄露管理员凭据的可能性。
我对 iOS 应用程序和网络管理员的 Firebase 功能有疑问。
所以..这是一个情况。
- 我正在努力构建一个管理页面来管理用户在 iOS 应用程序上的操作和请求。
- 对于 iOS 应用程序,其后端完全使用 firebase 构建。
- 所以有两个 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
时,它会部署任何新的并重新部署任何现有的。
如果您的意思是您的函数在两个不同的存储库中,那么您有两个选择:
- 将它们合并到一个存储库中 - 我不知道为什么您的 iOS 存储库中仍然有管理功能源代码。在客户端使用 Firebase 函数仅 调用 一个函数。源代码可以在别处。
- 但是假设您的源代码 需要 在多个存储库中(或者这就是您想要的方式),那么您永远不应该调用
firebase deploy --only functions
。相反,设置您的部署工作流程或过程以在该存储库中部署特定功能,这样它就不会影响任何其他功能。像这样:
firebase deploy --only functions:iosFunc1,functions:iosFunc2
firebase deploy --only functions:adminFuncA,functions:adminFuncB
当您明确定义要部署的功能时,不会影响任何其他功能。
但我会认真考虑将功能后端代码与您的 iOS 客户端代码分开,除非出于其他原因,而不是消除可能向客户端泄露管理员凭据的可能性。