部署 Cloud Functions 函数

部署

部署服务会将包含函数源代码的归档上传到 Google Cloud Storage 存储分区。上传源代码后,Cloud Build 会自动将您的代码构建到容器映像中,并将该映像推送到 Container Registry。Cloud Functions 使用该映像创建执行函数的容器。

更具体地说:

  1. 开始部署会压缩源代码,包括除 .gcloudignore 模式之外的所有文件。
  2. 在源代码压缩并上传后,构建将提交到 Cloud Build。构建系统会搭配使用 pack build 命令gcr.io/buildpacks/builder:v1 来构建容器。该命令将执行以下操作:

    • 使用基础 Ubuntu 映像。
    • 安装语言运行时。
    • 安装 Cloud Functions 框架(如果尚不存在)。
    • 安装用户依赖项。
    • 导出 OCI 映像

缓存有助于加快这些步骤。如需简要了解此过程,请观看此视频

部署选项

您可以从本地机器、GitHub 或 Bitbucket 源代码库(通过 Cloud Source Repositories)或直接从 Cloud Functions API 部署 Cloud Functions 函数。

在部署 Cloud Functions 函数时,该函数会查找特定文件,具体取决于您使用的运行时。如需了解详情,请参阅编写 Cloud Functions 函数。 在函数的部署最终完成之前,Cloud Functions 会向您的函数发送测试请求,以确认其已成功部署。

在部署之间迁移

底层基础架构已预配时,函数的第一个部署可能需要几分钟时间才能完成。重新部署现有函数的速度会更快,并且传入的流量会自动迁移到函数的最新版本。

基本概念

在您了解部署函数的不同方法时,了解一些基本术语会很有帮助。部署函数后,该函数将显示在 Cloud Console 中,如下所示。具体来说,要注意名称执行的函数字段:

  • 名称字段是您为函数指定的注册名称。
  • 执行的函数字段是源代码中实际函数的名称,系统在调用已部署的函数时会执行该函数。

这两个字段的名称可以相同,也可以不同。请注意,以下两个函数的注册名称与执行的函数名称不同。最后一个函数为这两个字段使用相同的名称:helloHttp

显示函数部署过程的屏幕截图

在本地构建和测试

Cloud Functions 函数在基于开源语言和框架的运行时环境中执行,因此您可以使用标准运行时及开发工具,在本地构建和测试您的函数。

您还可以使用 Functions 框架在本地为受支持的运行时运行和调试函数,以更轻松地进行测试和调试。

后续步骤