-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathcloudbuild.yaml
66 lines (59 loc) · 1.74 KB
/
cloudbuild.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
steps:
- id: 'Build: docker image'
name: 'gcr.io/cloud-builders/docker'
args: [
'build', '.',
'-f', 'Dockerfile.prod',
'-t', 'gcr.io/$PROJECT_ID/build:$COMMIT_SHA',
]
- id: 'Run: cloudsql-proxy'
name: 'gcr.io/cloudsql-docker/gce-proxy:1.17'
args: [
'/cloud_sql_proxy',
'-dir=/cloudsql',
'-instances=${_CLOUD_SQL_CONNECTION_NAME}'
]
volumes:
- name: cloudsql
path: /cloudsql
- id: 'Migrate: database'
name: 'gcr.io/cloud-builders/docker'
args: [
'run',
'-v', 'cloudsql:/cloudsql',
'-w', '/app/packages/backend',
'-e', 'DATABASE_URL=${_DATABASE_URL}',
'gcr.io/$PROJECT_ID/build:$COMMIT_SHA',
'yarn', 'migrate:deploy'
]
volumes:
- name: cloudsql
path: /cloudsql
waitFor:
- 'Build: docker image'
- id: 'Kill: cloudsql-proxy'
name: 'gcr.io/cloud-builders/docker'
waitFor:
- 'Migrate: database'
entrypoint: 'bash'
args: ['-c', 'docker ps -q --filter ancestor="gcr.io/cloudsql-docker/gce-proxy:1.16"|xargs docker stop']
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'gcr.io/$PROJECT_ID/build:$COMMIT_SHA']
waitFor:
- 'Migrate: database'
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: gcloud
args: [
'run', 'deploy', '$_CLOUD_RUN_SERVICE_NAME',
'--image', 'gcr.io/$PROJECT_ID/build:$COMMIT_SHA',
'--region', 'asia-northeast1',
'--platform', 'managed',
'--memory', '256Mi',
'--set-cloudsql-instances', '${_CLOUD_SQL_CONNECTION_NAME}',
'--allow-unauthenticated',
'--set-env-vars', '
TZ=Asia/Tokyo,
DATABASE_URL=${_DATABASE_URL}'
]
images:
- gcr.io/$PROJECT_ID/build:$COMMIT_SHA