sql-private-pool/cloudbuild.yaml (33 lines of code) (raw):
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# [START cloudbuild_sql_private_pool]
steps:
- id: "docker-build"
name: "gcr.io/cloud-builders/docker"
args: ["build", "-t", "${_IMAGE_NAME}", "sql-private-pool/."]
- id: "docker-push"
name: "gcr.io/cloud-builders/docker"
args: ["push", "${_IMAGE_NAME}"]
- id: "migration"
name: "${_IMAGE_NAME}"
dir: sql-private-pool
env:
- "DATABASE_NAME=mydatabase"
- "DATABASE_USER=myuser"
- "DATABASE_HOST=${_DATABASE_HOST}"
- "DATABASE_TYPE=${_DATABASE_TYPE}"
secretEnv:
- DATABASE_PASS
entrypoint: python # for example
args: ["migrate.py"] # for example
options:
pool:
name: projects/$PROJECT_ID/locations/us-central1/workerPools/private-pool
dynamicSubstitutions: true
substitutions:
_DATABASE_PASSWORD_KEY: database_password
_DATABASE_TYPE: postgres
_AR_REPO_REGION: us-central1
_AR_REPO_NAME: my-docker-repo
_IMAGE_NAME: ${_AR_REPO_REGION}-docker.pkg.dev/${PROJECT_ID}/${_AR_REPO_NAME}/sample-private-pool
availableSecrets:
secretManager:
- versionName: projects/$PROJECT_ID/secrets/${_DATABASE_PASSWORD_KEY}/versions/latest
env: DATABASE_PASS
# [END cloudbuild_sql_private_pool]