# cloudbuild.yaml — Auto-build and deploy osvauco-agent on push to main steps: # Step 1: Build Docker image - name: 'gcr.io/cloud-builders/docker' args: - 'build' - '-t' - '${_REGION}-docker.pkg.dev/${PROJECT_ID}/${_ARTIFACT_REPO}/osvauco-agent:$COMMIT_SHA' - '-t' - '${_REGION}-docker.pkg.dev/${PROJECT_ID}/${_ARTIFACT_REPO}/osvauco-agent:latest' - 'agents/core-logic' # Step 2: Push image - name: 'gcr.io/cloud-builders/docker' args: - 'push' - '--all-tags' - '${_REGION}-docker.pkg.dev/${PROJECT_ID}/${_ARTIFACT_REPO}/osvauco-agent' # Step 3: Deploy to Cloud Run - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' entrypoint: gcloud args: - 'run' - 'deploy' - '${_CLOUD_RUN_SERVICE}' - '--image=${_REGION}-docker.pkg.dev/${PROJECT_ID}/${_ARTIFACT_REPO}/osvauco-agent:$COMMIT_SHA' - '--region=${_REGION}' - '--project=${PROJECT_ID}' - '--service-account=${_AGENT_SA}' - '--set-env-vars=GOOGLE_CLOUD_PROJECT=${PROJECT_ID},GOOGLE_CLOUD_LOCATION=${_REGION},GOOGLE_GENAI_USE_VERTEXAI=True' - '--no-allow-unauthenticated' - '--port=8080' - '--memory=1Gi' - '--cpu=1' - '--min-instances=0' - '--max-instances=3' - '--quiet' substitutions: _REGION: us-central1 _ARTIFACT_REPO: osvauco-repo _CLOUD_RUN_SERVICE: osvauco-agent _AGENT_SA: osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com options: logging: CLOUD_LOGGING_ONLY machineType: E2_HIGHCPU_8 images: - '${_REGION}-docker.pkg.dev/${PROJECT_ID}/${_ARTIFACT_REPO}/osvauco-agent:$COMMIT_SHA' - '${_REGION}-docker.pkg.dev/${PROJECT_ID}/${_ARTIFACT_REPO}/osvauco-agent:latest'