OSVauco/cloudbuild.deploy.yaml

36 lines
1.2 KiB
YAML

# cloudbuild.deploy.yaml - Bygger med unik tag og deployer opax-mcp deklarativt
steps:
# Steg 1: Bygg og tag bildet med unik $BUILD_ID
- name: 'gcr.io/cloud-builders/docker'
id: build
args:
- 'build'
- '-f'
- 'opax-mcp/Dockerfile'
- '-t'
- '${_REGION}-docker.pkg.dev/${PROJECT_ID}/${_ARTIFACT_REPO}/opax-mcp:$BUILD_ID'
- 'opax-mcp'
# Steg 2: Push det unike imaget til Artifact Registry
- name: 'gcr.io/cloud-builders/docker'
id: push
args: ['push', '${_REGION}-docker.pkg.dev/${PROJECT_ID}/${_ARTIFACT_REPO}/opax-mcp:$BUILD_ID']
waitFor: ['build']
# Steg 3: Render og deploy et midlertidig, oppdatert manifest
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
id: render-and-deploy
entrypoint: bash
args:
- '-c'
- |
NEW_IMAGE_URL="${_REGION}-docker.pkg.dev/${PROJECT_ID}/${_ARTIFACT_REPO}/opax-mcp:$BUILD_ID"
# Erstatter kun linjer som starter med "image:"
sed "s|^ *image:.*|image: $${NEW_IMAGE_URL}|g" opax-mcp.yaml > opax-mcp.rendered.yaml
gcloud run services replace opax-mcp.rendered.yaml --region=${_REGION} --project=${PROJECT_ID}
waitFor: ['push']
substitutions:
_REGION: us-central1
_ARTIFACT_REPO: osvauco-repo