-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcloudbuild.yaml
More file actions
43 lines (42 loc) · 2.16 KB
/
Copy pathcloudbuild.yaml
File metadata and controls
43 lines (42 loc) · 2.16 KB
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
steps:
- name: node
entrypoint: npm
args: ['install']
- name: node
entrypoint: npm
args: ['run', 'build']
env:
- 'SKIP_ENV_VALIDATION=1'
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', 'us-central1-docker.pkg.dev/$PROJECT_ID/share-short-notes/prod', '.' ]
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'us-central1-docker.pkg.dev/$PROJECT_ID/share-short-notes/prod']
- name: gcr.io/cloud-builders/npm
env:
- NODE_ENV=production
entrypoint: sh
args:
- "-c"
- |
wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.0.0/cloud-sql-proxy.linux.amd64 -O cloud-sql-proxy
chmod +x cloud-sql-proxy
./cloud-sql-proxy --port 5432 $$CLOUD_SQL_INSTANCE_NAME & sleep 3
export DATABASE_URL=postgresql://$$DB_USERNAME:$$DB_PASSWORD@localhost/share-short-notes
npx prisma migrate deploy
secretEnv: ['DB_USERNAME', 'DB_PASSWORD', 'CLOUD_SQL_INSTANCE_NAME']
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: bash
args:
- '-c'
- 'gcloud run deploy share-short-notes-prod --image us-central1-docker.pkg.dev/$PROJECT_ID/share-short-notes/prod --region us-central1 --allow-unauthenticated --set-cloudsql-instances $$CLOUD_SQL_INSTANCE_NAME --set-env-vars DATABASE_URL=postgresql://$$DB_USERNAME:$$DB_PASSWORD@localhost:5432/share-short-notes?host=/cloudsql/$$CLOUD_SQL_INSTANCE_NAME --set-secrets NEXTAUTH_URL=projects/746480443793/secrets/NEXTAUTH_URL/versions/latest,NEXTAUTH_SECRET=projects/746480443793/secrets/NEXTAUTH_SECRET/versions/latest,GOOGLE_CLIENT_ID=projects/746480443793/secrets/GOOGLE_CLIENT_ID/versions/latest,GOOGLE_CLIENT_SECRET=projects/746480443793/secrets/GOOGLE_CLIENT_SECRET/versions/latest'
secretEnv: ['DB_USERNAME', 'DB_PASSWORD', 'CLOUD_SQL_INSTANCE_NAME']
images:
- 'us-central1-docker.pkg.dev/$PROJECT_ID/share-short-notes/prod'
availableSecrets:
secretManager:
- versionName: projects/746480443793/secrets/DB_USERNAME/versions/latest
env: 'DB_USERNAME'
- versionName: projects/746480443793/secrets/DB_PASSWORD/versions/latest
env: 'DB_PASSWORD'
- versionName: projects/746480443793/secrets/CLOUD_SQL_INSTANCE_NAME/versions/latest
env: 'CLOUD_SQL_INSTANCE_NAME'