forked from zenml-io/zenml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
release-cloudbuild-preparation.yaml
153 lines (141 loc) · 4.03 KB
/
release-cloudbuild-preparation.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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
steps:
# login to Dockerhub
- name: gcr.io/cloud-builders/docker
args:
- '-c'
- docker login --username=$$USERNAME --password=$$PASSWORD
id: docker-login
entrypoint: bash
secretEnv:
- USERNAME
- PASSWORD
# Build base image
- name: gcr.io/cloud-builders/docker
args:
- '-c'
- |
docker build . \
--platform linux/amd64 \
-f docker/zenml-dev.Dockerfile \
-t $$USERNAME/prepare-release:base-${_ZENML_NEW_VERSION}
id: build-base
waitFor: ['-']
entrypoint: bash
secretEnv:
- USERNAME
# Push base image
- name: gcr.io/cloud-builders/docker
args:
- '-c'
- docker push $$USERNAME/prepare-release:base-${_ZENML_NEW_VERSION}
id: push-base
waitFor:
- docker-login
- build-base
entrypoint: bash
secretEnv:
- USERNAME
# Build server image
- name: gcr.io/cloud-builders/docker
args:
- '-c'
- |
docker build . \
--platform linux/amd64 \
-f docker/zenml-server-dev.Dockerfile \
-t $$USERNAME/prepare-release:server-${_ZENML_NEW_VERSION}
id: build-server
waitFor: ['-']
entrypoint: bash
secretEnv:
- USERNAME
# Push server images
- name: gcr.io/cloud-builders/docker
args:
- '-c'
- docker push $$USERNAME/prepare-release:server-${_ZENML_NEW_VERSION}
id: push-server
waitFor:
- docker-login
- build-server
entrypoint: bash
secretEnv:
- USERNAME
# Build Quickstart GCP Image
- name: gcr.io/cloud-builders/docker
args:
- '-c'
- |
docker build . \
--platform linux/amd64 \
--build-arg BASE_IMAGE=$$USERNAME/prepare-release:base-${_ZENML_NEW_VERSION} \
--build-arg CLOUD_PROVIDER=gcp \
--build-arg ZENML_BRANCH=${_ZENML_BRANCH} \
-f docker/zenml-quickstart-dev.Dockerfile \
-t $$USERNAME/prepare-release:quickstart-gcp-${_ZENML_NEW_VERSION}
id: build-quickstart-gcp
waitFor:
- push-base
entrypoint: bash
secretEnv:
- USERNAME
# Build Quickstart AWS image
- name: gcr.io/cloud-builders/docker
args:
- '-c'
- |
docker build . \
--platform linux/amd64 \
--build-arg BASE_IMAGE=$$USERNAME/prepare-release:base-${_ZENML_NEW_VERSION} \
--build-arg CLOUD_PROVIDER=aws \
--build-arg ZENML_BRANCH=${_ZENML_BRANCH} \
-f docker/zenml-quickstart-dev.Dockerfile \
-t $$USERNAME/prepare-release:quickstart-aws-${_ZENML_NEW_VERSION}
id: build-quickstart-aws
waitFor:
- push-base
entrypoint: bash
secretEnv:
- USERNAME
# Build Quickstart Azure image
- name: gcr.io/cloud-builders/docker
args:
- '-c'
- |
docker build . \
--platform linux/amd64 \
--build-arg BASE_IMAGE=$$USERNAME/prepare-release:base-${_ZENML_NEW_VERSION} \
--build-arg CLOUD_PROVIDER=azure \
--build-arg ZENML_BRANCH=${_ZENML_BRANCH} \
-f docker/zenml-quickstart-dev.Dockerfile \
-t $$USERNAME/prepare-release:quickstart-azure-${_ZENML_NEW_VERSION}
id: build-quickstart-azure
waitFor:
- push-base
entrypoint: bash
secretEnv:
- USERNAME
# Push Quickstart images
- name: gcr.io/cloud-builders/docker
args:
- '-c'
- |
docker push $$USERNAME/prepare-release:quickstart-aws-${_ZENML_NEW_VERSION}
docker push $$USERNAME/prepare-release:quickstart-azure-${_ZENML_NEW_VERSION}
docker push $$USERNAME/prepare-release:quickstart-gcp-${_ZENML_NEW_VERSION}
id: push-quickstart
waitFor:
- docker-login
- build-quickstart-gcp
- build-quickstart-aws
- build-quickstart-azure
entrypoint: bash
secretEnv:
- USERNAME
timeout: 3600s
availableSecrets:
secretManager:
- versionName: projects/$PROJECT_ID/secrets/docker-password/versions/1
env: PASSWORD
- versionName: projects/$PROJECT_ID/secrets/docker-username/versions/1
env: USERNAME