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

如何部署TypeScript编写的Google Cloud Function并实现提交后自动重部署

自动构建部署TypeScript版Cloud Function操作步骤

你可以通过GCP原生的Cloud Build服务实现代码推送后自动构建部署,完整操作流程如下:

第一步:在项目根目录添加Cloud Build配置文件

新建名为cloudbuild.yaml的文件,写入以下配置,替换其中的占位符为你自己的实际参数:

steps:
  # 安装项目依赖
  - name: 'node:18'
    entrypoint: npm
    args: ['install']
  # 编译TypeScript代码
  - name: 'node:18'
    entrypoint: npx
    args: ['tsc']
  # 部署到Cloud Function
  - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
    entrypoint: gcloud
    args: 
      - 'functions'
      - 'deploy'
      - '替换为你的云函数名称'
      - '--runtime=nodejs18' # 替换为你实际使用的Node.js版本
      - '--trigger-http'
      - '--region=替换为你的部署区域,例如us-central1'
      - '--source=build/src'
      - '--target=index'
      # 如果你不需要公开访问可以删掉下面这行
      - '--allow-unauthenticated'

注意:请确保你的package.json中@google-cloud/functions-framework放在dependencies字段下,不要仅放在开发依赖中,否则部署后运行会报错。

第二步:配置Cloud Build触发器

  • 打开GCP控制台进入Cloud Build服务页面,点击左侧菜单栏的「触发器」
  • 点击「创建触发器」,源选择你已经镜像到GCP的GitHub仓库
  • 触发事件选择「推送到分支」,分支规则填写你要触发部署的分支(例如^main$表示推送到main分支时触发)
  • 配置选择「Cloud Build配置文件」,文件路径填写/cloudbuild.yaml
  • 保存触发器

第三步:配置Cloud Build服务账号权限

默认的Cloud Build服务账号没有云函数部署权限,需要手动赋权:

  • 打开GCP控制台的「IAM与 admin」页面,找到账号格式为[你的GCP项目编号]@cloudbuild.gserviceaccount.com的服务账号
  • 给该账号添加以下3个角色:
    • Cloud Functions 管理员
    • Cloud Run 管理员
    • 服务账号用户

验证效果

配置完成后,你只要向对应分支提交推送代码,Cloud Build就会自动触发构建流程,依次执行依赖安装、TS编译、函数部署的步骤,你可以在Cloud Build的「构建记录」页面查看执行日志和状态。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:24:06