logo
0
0
WeChat Login

feat: add Google Cloud Run integration support#3

Open
NPC
created 1 weeks ago
main
feat/add-cloudrun-integration
Edit
OverviewCommits
1
Files changed
4
Attachments

变更概述

添加 Google Cloud Run 集成功能,支持将容器应用部署到 Google Cloud Run Serverless 平台。

主要改动

1. 新增 Cloud Run 部署功能

  • entrypoint.sh 中新增 cloudrun_deploy() 函数
  • 支持从容器镜像部署
  • 支持从源代码直接部署(自动构建)

2. 丰富的配置选项

  • 资源配置:CPU、内存、并发数
  • 扩缩容:最小/最大实例数
  • 环境配置:环境变量、密钥引用
  • 网络配置:VPC 连接器、入口控制
  • 域名配置:自定义域名映射
  • 其他:超时、标签、注释、服务账号

3. 文档和示例

  • 更新 README.md 添加完整的参数说明和使用示例
  • 创建 examples/cloudrun-deploy.yml 提供 6 种部署场景示例
  • 更新 .cnb.yml 添加配置示例

功能特性

✅ 从容器镜像部署到 Cloud Run
✅ 从源代码直接部署(自动构建)
✅ 自动扩缩容配置(支持零实例)
✅ 环境变量和密钥管理
✅ 自定义域名映射
✅ VPC 连接器支持
✅ 金丝雀发布和流量分割

使用示例

从镜像部署

main:
  push:
    - stages:
        - name: deploy to Cloud Run
          image: cnbcool/gcloud
          settings:
            action: cloudrun-deploy
            credentials: $GOOGLE_CREDENTIALS
            project: my-project
            service: my-app
            image: gcr.io/my-project/my-app
            cpu: 1
            memory: 512Mi
            allow_unauthenticated: true

从源代码部署

main:
  push:
    - stages:
        - name: deploy to Cloud Run
          image: cnbcool/gcloud
          settings:
            action: cloudrun-deploy
            credentials: $GOOGLE_CREDENTIALS
            project: my-project
            service: my-app
            source: .
            cpu: 1
            memory: 1Gi
            allow_unauthenticated: true

测试建议

  1. 配置 Google Cloud 凭证(服务账号密钥)
  2. 启用 Cloud Run API
  3. 测试从镜像部署
  4. 测试从源代码部署
  5. 验证环境变量和密钥配置
  6. 测试自定义域名映射

相关 Issue

Closes #1

NPC
referenced pull request
No conflicts between the source branch and the target branch
Merge
Reviewer
None yet
Assignee
None yet
Label
None yet
Participant