# Cloud Build 配置
# 用於自動建置和部署 Cloud Run Backend
steps:
# 建置 Docker 映像
- name: 'gcr.io/cloud-builders/docker'
args:
- 'build'
- '-t'
- 'asia-east1-docker.pkg.dev/${PROJECT_ID}/mcp-internal/cloud-backend:${SHORT_SHA}'
- '-t'
- 'asia-east1-docker.pkg.dev/${PROJECT_ID}/mcp-internal/cloud-backend:latest'
- '-f'
- 'packages/cloud-backend/Dockerfile'
- '.'
# 推送映像
- name: 'gcr.io/cloud-builders/docker'
args:
- 'push'
- 'asia-east1-docker.pkg.dev/${PROJECT_ID}/mcp-internal/cloud-backend:${SHORT_SHA}'
- name: 'gcr.io/cloud-builders/docker'
args:
- 'push'
- 'asia-east1-docker.pkg.dev/${PROJECT_ID}/mcp-internal/cloud-backend:latest'
# 部署到 Cloud Run
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: 'gcloud'
args:
- 'run'
- 'deploy'
- 'mcp-internal-backend'
- '--image'
- 'asia-east1-docker.pkg.dev/${PROJECT_ID}/mcp-internal/cloud-backend:${SHORT_SHA}'
- '--region'
- 'asia-east1'
- '--platform'
- 'managed'
- '--allow-unauthenticated'
- '--set-env-vars'
- 'GCP_PROJECT_ID=${PROJECT_ID},NODE_ENV=production'
- '--set-secrets'
- 'FXCRM_APP_ID=FXCRM_APP_ID:latest,FXCRM_APP_SECRET=FXCRM_APP_SECRET:latest,FXCRM_PERMANENT_CODE=FXCRM_PERMANENT_CODE:latest,FXCRM_CORP_ID=FXCRM_CORP_ID:latest,FXCRM_DEFAULT_USER_ID=FXCRM_DEFAULT_USER_ID:latest,ODOO_URL=ODOO_URL:latest,ODOO_DB=ODOO_DB:latest,ODOO_API_KEY=ODOO_API_KEY:latest,ODOO_USER_ID=ODOO_USER_ID:latest,SHOPIFY_STORE=SHOPIFY_STORE:latest,SHOPIFY_ACCESS_TOKEN=SHOPIFY_ACCESS_TOKEN:latest,GITHUB_TOKEN=GITHUB_TOKEN:latest,GITHUB_OWNER=GITHUB_OWNER:latest'
- '--memory'
- '512Mi'
- '--cpu'
- '1'
- '--concurrency'
- '80'
- '--min-instances'
- '0'
- '--max-instances'
- '10'
# 使用 Artifact Registry
images:
- 'asia-east1-docker.pkg.dev/${PROJECT_ID}/mcp-internal/cloud-backend:${SHORT_SHA}'
- 'asia-east1-docker.pkg.dev/${PROJECT_ID}/mcp-internal/cloud-backend:latest'
# 選項
options:
logging: CLOUD_LOGGING_ONLY