You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GitHub Actions部署第二代Google Cloud Functions?解决认证错误

GitHub Actions部署第二代Google Cloud Functions配置方案

核心问题分析

你之前使用的google-github-actions/deploy-cloud-functions@v0版本不支持第二代Cloud Functions,这是导致认证错误的主要原因。同时第二代函数需要明确指定环境类型,且服务账号权限需匹配第二代的权限要求。

完整工作流配置

以下是适配第二代函数的GitHub工作流,触发条件为推送到main分支或合并PR到main分支:

name: Deploy Gen2 Cloud Function
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
    types: [ closed ]
    if: github.event.pull_request.merged == true

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Authenticate to Google Cloud
        uses: google-github-actions/auth@v2
        with:
          credentials_json: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}

      - id: "deploy"
        uses: "google-github-actions/deploy-cloud-functions@v2"
        with:
          name: "<cloud-function-name>"
          runtime: "python310"
          region: "us-east1"
          entry_point: "<function-in-main-file>"
          timeout: 540
          service_account_email: PROJECT@appspot.gserviceaccount.com
          ingress_settings: ALLOW_ALL
          max_instances: 1
          # 关键:指定为第二代函数环境
          environment: gen2
          # 第二代可选配置(按需添加)
          # available_memory: 256Mi
          # vpc_connector: "projects/PROJECT/locations/REGION/connectors/CONNECTOR_NAME"

关键配置说明

  • Action版本升级:将部署Action从@v0升级到@v2,该版本完全支持第二代Cloud Functions。
  • 认证步骤:新增google-github-actions/auth@v2步骤,通过GitHub Secrets中存储的服务账号凭据完成认证,确保权限传递正确。
  • 指定第二代环境:添加environment: gen2参数,明确告知Action部署第二代函数。
  • 服务账号权限检查:确保你的PROJECT@appspot.gserviceaccount.com服务账号拥有以下权限:
    • Cloud Functions Developer
    • Service Account User
    • Cloud Run Admin(第二代函数基于Cloud Run,需此权限)

前置准备

  1. 在GitHub仓库的Settings > Secrets and variables > Actions中添加GOOGLE_APPLICATION_CREDENTIALS,值为服务账号的JSON密钥内容。
  2. 在Google Cloud控制台中,为目标服务账号授予上述所需权限。

内容的提问来源于stack exchange,提问作者Kyle Venn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 06:14:58