This repository has been archived by the owner on May 23, 2024. It is now read-only.
forked from forbole/callisto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcloudbuild.yml
55 lines (50 loc) · 1.52 KB
/
cloudbuild.yml
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
steps:
# 0. Get previous build for cache
- name: 'gcr.io/cloud-builders/docker'
entrypoint: 'bash'
args: [ '-c', 'docker pull us-docker.pkg.dev/$PROJECT_ID/gcr.io/$REPO_NAME:latest || exit 0' ]
# 1. Build the image
- name: 'gcr.io/cloud-builders/docker'
entrypoint: bash
timeout: 1200s # 20 minutes
args: [
'-c',
'export DOCKER_BUILDKIT=1 && docker build
--cache-from us-docker.pkg.dev/$PROJECT_ID/gcr.io/$REPO_NAME:latest
-t us-docker.pkg.dev/$PROJECT_ID/gcr.io/$REPO_NAME:latest .',
]
# 2. Push the image to GCR
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'us-docker.pkg.dev/$PROJECT_ID/gcr.io/$REPO_NAME:latest']
# 3. Setup docker auth
- name: 'gcr.io/cloud-builders/gcloud'
args: [
"compute",
"ssh",
"--project",
"$PROJECT_ID",
"--zone",
"us-central1-a",
"builder@bigdipper",
"--command",
"gcloud auth configure-docker us-docker.pkg.dev"
]
# 3.1. Redeploy image on instance
- name: 'gcr.io/cloud-builders/gcloud'
args: [
"compute",
"ssh",
"--project",
"$PROJECT_ID",
"--zone",
"us-central1-a",
"builder@bigdipper",
"--command",
"cd /bdjuno && docker compose down && docker image rm us-docker.pkg.dev/$PROJECT_ID/gcr.io/$REPO_NAME:latest && docker compose up -d"
]
options:
machineType: 'E2_HIGHCPU_8' # 8 cores
dynamic_substitutions: true
images:
- 'us-docker.pkg.dev/$PROJECT_ID/gcr.io/$REPO_NAME:latest'
logsBucket: gs://logs-ci-bdjuno