【发布时间】:2017-04-05 06:11:29
【问题描述】:
我们正在考虑将 GCF 用于我们即将进行的项目之一,但是最后一件事似乎还没有任何文献。
所有示例和教程都非常关注手动部署函数(使用gcloud 命令)。但是,我们希望将我们的功能集成到我们的 CI/CD 工作流程中。
CI 部分是微不足道的,所以我们的问题是如何从 CD 的角度构建项目。理想情况下,您希望您的功能在推送上部署(例如,主分支到生产,开发分支到开发环境等)。
如果每个函数使用 1 个 repo,这也应该很容易做到。然而,在任何不平凡的应用程序中,我们都可以期望有数百个函数,这将使每个函数的 repo 方法非常繁琐。
repo per function 方法的另一个问题是不可能使用任何共享逻辑(例如 JWT 或 CORS)。
另一个选项是使用 1 个 repo 和所有函数,然后使用 --source-path 选项指定要部署的函数,但这也使得无法使用共享代码,因为 GCF 将该路径检查为root 并且不能导入更高层次的代码。此外,所有方法的 1 个 repo 将使推送部署变得异常困难。
如何建立这样的 GCF 项目?
【问题讨论】:
-
不是基于意见吗?
-
@SagarV 需要详细说明吗?
-
在每个函数的 repo 案例中,您打算如何解决代码共享问题?
-
AFAIK 你能做到这一点的唯一方法是创建 npm 模块并导入它们:(
标签: google-cloud-platform google-cloud-functions