有没有办法将 Cloud Functions 作为 zip 工件直接部署到 Google Cloud Platform?而不是依赖默认的 Cloud Build?
Is there a way to deploy Cloud Functions directly as zip artifacts to Google Cloud Platform? and not rely on the default Cloud Build?
firebase 函数的默认设置是 运行 firebase deploy
,这将:
- 将整个项目上传到 Cloud Build
- Cloud Build 将提取函数
- 会运行
npm install.
- 创建 ZIP 工件
- 将 ZIP 文件上传到云端
问题是您是否知道在我们这边制作这些 ZIP 文件并直接上传的方法?
Default Cloud Build steps
List of the Cloud Build deployments
从我的角度来看 - 如何部署一个或多个云功能有很多选择。
Deploying Cloud Functions 文档提供了一些初始上下文。
在我看来,最简单的方法是使用 gcloud functions deploy
命令 - 请参阅 Cloud SDK CLI - gcloud functions deploy
附带说明 - 从我个人的角度来看 - 使用 Cloud Build 的想法 - 不错,而且它有很多好处(安全性,CI/CD 的组织等)但它是由你决定。我个人将 Cloud Build 与 Terraform 结合使用,并以仅重新部署更新的 Cloud Functions 的方式配置部署。
需要考虑不同“级别”的云构建。
如果这是第一步,我的意思是用你的函数代码创建一个 ZIP,没问题,你可以自己做。然后你可以部署 zip through the console or with api calls
在这两种情况下,您都需要一个 zip 并进行部署。而且,如果您使用 gcloud functions deploy
命令,它会做同样的事情:创建一个 zip,将其发送到存储并从该 ZIP 部署函数!
这是第一阶段,您在云端管理 ZIP 创建和发送。
HOWEVER,要将邮政编码部署到 Google Cloud Platform,您需要将该代码打包到 运行 可用的东西中,因为您只有一个函数和一个函数不是 运行nable 并且不能处理 HTTP 请求。
因此,Google Cloud 运行 Cloud 在引擎盖下构建并使用 Buildpacks 将您的代码打包到容器中(是的,在 Google Cloud 中都是容器),并且在 Cloud Functions 平台上部署该容器。
您不能丢弃容器创建,没有容器,您的 Cloud Functions 就不能 运行。或者您可以使用 Cloud 运行 并在您这边构建自己的容器并在没有 Cloud Build 的情况下进行部署。
firebase 函数的默认设置是 运行 firebase deploy
,这将:
- 将整个项目上传到 Cloud Build
- Cloud Build 将提取函数
- 会运行
npm install.
- 创建 ZIP 工件
- 将 ZIP 文件上传到云端
问题是您是否知道在我们这边制作这些 ZIP 文件并直接上传的方法?
Default Cloud Build steps List of the Cloud Build deployments
从我的角度来看 - 如何部署一个或多个云功能有很多选择。
Deploying Cloud Functions 文档提供了一些初始上下文。
在我看来,最简单的方法是使用 gcloud functions deploy
命令 - 请参阅 Cloud SDK CLI - gcloud functions deploy
附带说明 - 从我个人的角度来看 - 使用 Cloud Build 的想法 - 不错,而且它有很多好处(安全性,CI/CD 的组织等)但它是由你决定。我个人将 Cloud Build 与 Terraform 结合使用,并以仅重新部署更新的 Cloud Functions 的方式配置部署。
需要考虑不同“级别”的云构建。
如果这是第一步,我的意思是用你的函数代码创建一个 ZIP,没问题,你可以自己做。然后你可以部署 zip through the console or with api calls
在这两种情况下,您都需要一个 zip 并进行部署。而且,如果您使用 gcloud functions deploy
命令,它会做同样的事情:创建一个 zip,将其发送到存储并从该 ZIP 部署函数!
这是第一阶段,您在云端管理 ZIP 创建和发送。
HOWEVER,要将邮政编码部署到 Google Cloud Platform,您需要将该代码打包到 运行 可用的东西中,因为您只有一个函数和一个函数不是 运行nable 并且不能处理 HTTP 请求。
因此,Google Cloud 运行 Cloud 在引擎盖下构建并使用 Buildpacks 将您的代码打包到容器中(是的,在 Google Cloud 中都是容器),并且在 Cloud Functions 平台上部署该容器。
您不能丢弃容器创建,没有容器,您的 Cloud Functions 就不能 运行。或者您可以使用 Cloud 运行 并在您这边构建自己的容器并在没有 Cloud Build 的情况下进行部署。