This repository has been archived by the owner on Nov 21, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 25
/
build-migrate-deploy.yaml
75 lines (66 loc) · 2.02 KB
/
build-migrate-deploy.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Copyright 2019 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.
steps:
- id: "build "
name: "gcr.io/cloud-builders/docker"
args: ["build", "-t", "${_IMAGE_NAME}", "."]
- id: "push "
name: "gcr.io/cloud-builders/docker"
args: ["push", "${_IMAGE_NAME}"]
- id: "layer "
name: "gcr.io/cloud-builders/docker"
entrypoint: /bin/bash
args:
- "-c"
- |
echo "FROM $_IMAGE_NAME
COPY --from=gcr.io/cloudsql-docker/gce-proxy /cloud_sql_proxy /cloudsql/cloud_sql_proxy" > Dockerfile-proxy;
docker build -f Dockerfile-proxy -t ${_IMAGE_NAME}-proxy .
- id: "migrate"
name: "${_IMAGE_NAME}-proxy"
entrypoint: /bin/bash
env:
- "PROJECT_ID=$PROJECT_ID"
- "USE_CLOUD_SQL_AUTH_PROXY=true"
args:
- '-c'
- |
/cloudsql/cloud_sql_proxy -instances=${_INSTANCE_CONNECTION_NAME}=tcp:${_DATABASE_PORT} & sleep 2;
sh .cloudbuild/django_migrate.sh
- id: "deploy "
name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
entrypoint: "gcloud"
args:
[
"run",
"deploy",
"${_SERVICE}",
"--platform",
"managed",
"--region",
"${_REGION}",
"--image",
"${_IMAGE_NAME}",
]
images:
- $_IMAGE_NAME
options:
dynamic_substitutions: true
substitutions:
_SERVICE: unicodex
_REGION: us-central1
_INSTANCE_NAME: psql
_DATABASE_PORT: '5432'
_IMAGE_NAME: gcr.io/${PROJECT_ID}/${_SERVICE}
_INSTANCE_CONNECTION_NAME: ${PROJECT_ID}:${_REGION}:${_INSTANCE_NAME}