【发布时间】:2022-02-17 07:26:34
【问题描述】:
当您使用 Node.js 运行时部署 Google Cloud Function 时,您可以在 Google Cloud Storage (--source=gs://...) 中的 .zip 文件中提供代码。
我使用所有已编译的源代码和node_modules/ 文件夹制作 zip 文件,以便 GCF 拥有所需的一切。我这样做是因为我使用的是 private NPM 模块,所以npm i 将无法在 GCF 构建例程中工作(在 GCP 内的云部署上运行)。
问题:
即使我在 node_modules/ 中包含 100% 的所需模块,GCF 仍然存在部署错误,因为它试图访问私有 NPM 包存储库。
如果我删除package.json 的dependencies 和devDependencies 部分,GCF 将无法启动,说它找不到模块。
所以:
- 为什么 GCF 不能像其他工具一样使用捆绑的依赖项(例如 GitHub Actions)
- 使用私有 NPM 模块部署 GCF 的最佳做法是什么?
【问题讨论】:
标签: node.js npm google-cloud-functions