mirror of
https://github.com/google/nomulus
synced 2026-09-25 17:34:20 +00:00
Deploy SQL schema from Cloud Build (#350)
Defined Docker image for schema deployment. Included schema deploymer docker in the Cloud Build release process. Defined Cloud Build config for schema deployment. TESTED=Used cloud-build-local to test deployment flow TESTED=Used docker to test schema deployer image in more ways
This commit is contained in:
@@ -98,6 +98,37 @@ steps:
|
||||
sed s/'$${_ENV}'/${environment}/g release/cloudbuild-deploy.yaml \
|
||||
> release/cloudbuild-deploy-${environment}.yaml
|
||||
done
|
||||
# Build the schema_deployer image and upload it to GCR.
|
||||
- name: 'gcr.io/cloud-builders/docker'
|
||||
entrypoint: /bin/bash
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
set -e
|
||||
docker build -t gcr.io/${PROJECT_ID}/schema_deployer:${TAG_NAME} .
|
||||
docker tag gcr.io/${PROJECT_ID}/schema_deployer:${TAG_NAME} \
|
||||
gcr.io/${PROJECT_ID}/schema_deployer:latest
|
||||
docker push gcr.io/${PROJECT_ID}/schema_deployer:latest
|
||||
docker push gcr.io/${PROJECT_ID}/schema_deployer:${TAG_NAME}
|
||||
dir: 'release/schema-deployer/'
|
||||
# Do text replacement in the schema-deploy config, hardcoding image digests.
|
||||
- name: 'gcr.io/cloud-builders/gcloud'
|
||||
entrypoint: /bin/bash
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
set -e
|
||||
builder_digest=$( \
|
||||
gcloud container images list-tags gcr.io/${PROJECT_ID}/builder \
|
||||
--format='get(digest)' --filter='tags = ${TAG_NAME}')
|
||||
schema_deployer_digest=$( \
|
||||
gcloud container images list-tags gcr.io/${PROJECT_ID}/schema_deployer \
|
||||
--format='get(digest)' --filter='tags = ${TAG_NAME}')
|
||||
sed -i s/builder:latest/builder@$builder_digest/g \
|
||||
release/cloudbuild-schema-deploy.yaml
|
||||
sed -i s/schema_deployer:latest/schema_deployer@$schema_deployer_digest/g \
|
||||
release/cloudbuild-schema-deploy.yaml
|
||||
sed -i s/'$${TAG_NAME}'/${TAG_NAME}/g release/cloudbuild-schema-deploy.yaml
|
||||
# Upload the gradle binary to GCS if it does not exist and point URL in gradle wrapper to it.
|
||||
- name: 'gcr.io/cloud-builders/gsutil'
|
||||
entrypoint: /bin/bash
|
||||
|
||||
Reference in New Issue
Block a user