如何为多个谷歌云功能设置一个GitHub仓库?



我想设置一个GitHub回购将持有所有后端谷歌云功能。但我有两个问题:

  1. 我如何设置它,以便GCP知道有多个云功能要部署?
  2. 如果我只更改一个云功能的代码,我如何设置使GCP只部署修改的云功能,而不重新部署未更改的一次?

将云功能保存到github repo时,请确保在gitignore文件中有适当的设置。排除node_modules和您不想提交的文件夹和文件。

通常所有的云功能都是通过一个index.js文件部署的。所以这里你需要确保你有这个和你导入的所有文件。

如果您想部署单个功能,可以使用以下命令:

firebase deploy --only functions:your_function_name

如果你想有一个更结构化的解决方案,你可以阅读这篇文章来了解更多。

据我所知,您想在GitHub中存储云功能代码,并且我假设您想在某些操作上触发部署-推或拉请求。同时,您希望只重新部署修改过的云功能,而不重新部署其他功能。

每个云功能都是单独(重新)部署的,我的意思是,对于每个功能,您可能需要提供大量特定的参数,而这些参数对于不同的功能是不同的。这些参数的详细信息请参见gcloud functions deploy命令文档页。

最有可能的是,--entry-point——在源代码中定义的云函数的名称——对于它们每个都是不同的。因此,您可能会有某种"循环"。通过不同参数(包括名称、入口点等)部署所有云功能

这样的"loop"(或"set")可以通过使用Cloud Build或Terraform或两者一起或其他工具来实现。

如何在CI/CD中部署google云功能而不重新部署未更改的SO问答中提供了仅部署修改后的云功能的示例。该示例可以扩展到任意数量的云函数。如果你不想使用Terraform,类似的机制(基于不同的思想)可以通过使用纯云构建来实现。

相关内容

  • 没有找到相关文章

最新更新