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

求助:如何通过GitHub Action部署Cloud Run Job?

配置GitHub Action自动部署Cloud Run Job

以下是实现代码提交时自动部署Cloud Run Job的GitHub Action配置方案,直接使用GCP官方CLI工具完成部署,替代原教程中针对Cloud Run服务的Action:

1. 前置准备

  • 在GCP控制台创建具备以下权限的服务账号:
    • Cloud Run Admin
    • Storage Admin(若需构建推送镜像到GCR)
  • 导出服务账号的JSON密钥,添加到GitHub仓库的Secrets中,命名为GCP_SERVICE_ACCOUNT_KEY
  • 确保已启用GCP的Cloud Run API、Container Registry API(或Artifact Registry API)

2. GitHub Action Workflow配置

在仓库的.github/workflows目录下创建deploy-cloud-run-job.yml文件,内容如下:

name: Deploy Cloud Run Job
on:
  push:
    branches: [ main ] # 触发分支可按需修改

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

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

      - name: Set up GCP CLI
        uses: google-github-actions/setup-gcloud@v2
        with:
          project_id: YOUR_GCP_PROJECT_ID # 替换为你的GCP项目ID
          install_components: beta # Cloud Run Job部分命令需beta组件

      - name: Build and push Docker image to GCR
        run: |
          gcloud builds submit --tag gcr.io/YOUR_GCP_PROJECT_ID/YOUR_IMAGE_NAME:${{ github.sha }} .
          # 若使用Artifact Registry,替换为对应的地址:us-central1-docker.pkg.dev/YOUR_PROJECT_ID/REPO_NAME/IMAGE_NAME

      - name: Deploy Cloud Run Job
        run: |
          gcloud run jobs deploy YOUR_JOB_NAME \
            --region YOUR_GCP_REGION \
            --image gcr.io/YOUR_GCP_PROJECT_ID/YOUR_IMAGE_NAME:${{ github.sha }} \
            --set-env-vars ENV_VAR1=value1,ENV_VAR2=value2 \ # 按需添加环境变量
            --cpu 1 \ # 按需配置资源
            --memory 512Mi \
            --max-retries 2
          # 若需覆盖现有Job配置,也可使用`gcloud run jobs replace job-config.yaml`,需提前准备Job的YAML配置文件

关键说明

  • 触发条件:示例中为main分支推送代码时触发,可根据需求修改为其他分支或标签
  • 镜像构建:使用gcloud builds submit自动构建并推送镜像,也可替换为docker/build-push-action实现更灵活的构建配置
  • 部署命令:gcloud run jobs deploy会自动创建或更新Cloud Run Job,若需更精细的配置(如任务超时、并发限制等),可添加对应参数或使用YAML配置文件进行替换部署

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 20:33:23