@@ -20,13 +20,21 @@ steps:
20
20
script : |
21
21
#!/usr/bin/env bash
22
22
set -e
23
+
24
+ # Save absolute config file path to .env file
25
+ # that can be accessed by all Cloud Build steps since exported env
26
+ # variables do not persist between steps.
27
+
28
+ realpath "${_CONFIG_FILE}" > /workspace/config_file_full_path.env
29
+
23
30
echo "Initial configuration ${_CONFIG_FILE}:"
24
- cat ${_CONFIG_FILE}
31
+ cat " ${_CONFIG_FILE}"
25
32
26
33
python3 src/common/init_deployment_config.py --config-file ${_CONFIG_FILE} \
27
34
--sub-validator "src/SAP/SAP_REPORTING" \
28
35
--sub-validator "src/SFDC/src" \
29
- --sub-validator "src/marketing/src"
36
+ --sub-validator "src/marketing/src" \
37
+ --sub-validator "src/OracleEBS/src"
30
38
31
39
echo "Processed configuration:"
32
40
cat ${_CONFIG_FILE}
@@ -38,10 +46,25 @@ steps:
38
46
script : |
39
47
#!/usr/bin/env bash
40
48
export PYTHONPATH=${PYTHONPATH}:src/:.
49
+ declare -a _WORKER_POOL_OPTIONS
50
+
51
+ if [[ -n "${_WORKER_POOL_NAME}" ]]; then
52
+ _WORKER_POOL_OPTIONS+=(--worker-pool-name "${_WORKER_POOL_NAME}")
53
+ fi
54
+
55
+ if [[ -n "${_CLOUD_BUILD_REGION}" ]]; then
56
+ _WORKER_POOL_OPTIONS+=(--region "${_CLOUD_BUILD_REGION}")
57
+ fi
58
+
59
+ if [[ -n "${_BUILD_ACCOUNT}" ]]; then
60
+ _WORKER_POOL_OPTIONS+=(--build-account "${_BUILD_ACCOUNT}")
61
+ fi
62
+
41
63
python3 src/k9/src/deploy_k9.py \
42
- --config-file ${_CONFIG_FILE} \
43
- --stage pre \
44
- --logs-bucket ${_GCS_BUCKET}
64
+ --config-file "${_CONFIG_FILE}" \
65
+ --stage pre \
66
+ --logs-bucket "${_GCS_BUCKET}" \
67
+ "${_WORKER_POOL_OPTIONS[@]}"
45
68
46
69
- name : gcr.io/kittycorn-public/deploy-kittycorn:v2.0
47
70
id : ' sap-test-harness'
@@ -84,7 +107,8 @@ steps:
84
107
cp -f ${_CONFIG_FILE} src/SAP/SAP_CDC/config/config.json
85
108
gcloud builds submit ./src/SAP/SAP_CDC \
86
109
--config=./src/SAP/SAP_CDC/cloudbuild.cdc.yaml \
87
- --substitutions=_GCS_BUCKET=${_GCS_BUCKET}
110
+ --substitutions=_GCS_BUCKET="${_GCS_BUCKET}",_WORKER_POOL_NAME="${_WORKER_POOL_NAME}",_CLOUD_BUILD_REGION="${_CLOUD_BUILD_REGION}",_BUILD_ACCOUNT="${_BUILD_ACCOUNT}" \
111
+ --region="${_CLOUD_BUILD_REGION}"
88
112
else
89
113
echo "==Skipping CDC for SAP=="
90
114
fi
@@ -95,11 +119,12 @@ steps:
95
119
script : |
96
120
#!/usr/bin/env bash
97
121
_DEPLOY_SAP_=$(jq -r ."deploySAP" ${_CONFIG_FILE})
98
- if [[ ${_DEPLOY_SAP_} == "true" ]]; then
99
- cp -f ${_CONFIG_FILE} src/SAP/SAP_REPORTING/config/config.json
122
+ if [[ " ${_DEPLOY_SAP_}" == "true" ]]; then
123
+ cp -f " ${_CONFIG_FILE}" src/SAP/SAP_REPORTING/config/config.json
100
124
gcloud builds submit ./src/SAP/SAP_REPORTING \
101
125
--config=./src/SAP/SAP_REPORTING/cloudbuild.reporting.yaml \
102
- --substitutions=_GCS_BUCKET=${_GCS_BUCKET}
126
+ --substitutions=_GCS_BUCKET="${_GCS_BUCKET}",_WORKER_POOL_NAME="${_WORKER_POOL_NAME}",_CLOUD_BUILD_REGION="${_CLOUD_BUILD_REGION}",_BUILD_ACCOUNT="${_BUILD_ACCOUNT}" \
127
+ --region="${_CLOUD_BUILD_REGION}"
103
128
else
104
129
echo "==Skipping Reporting for SAP=="
105
130
fi
@@ -109,6 +134,7 @@ steps:
109
134
waitFor : ['sap-reporting']
110
135
script : |
111
136
#!/usr/bin/env bash
137
+ _DEPLOY_SAP_ML_MODELS=$(jq -r ."deploySAPMLModels" ${_CONFIG_FILE})
112
138
if [[ ${_DEPLOY_SAP_ML_MODELS} == "true" ]]
113
139
then
114
140
_DEPLOY_SAP_=$(jq -r ."deploySAP" ${_CONFIG_FILE})
@@ -122,10 +148,10 @@ steps:
122
148
_DS_RAW_=$(jq -r ."SAP.datasets.raw" ${_CONFIG_FILE})
123
149
_DS_CDC_=$(jq -r ."SAP.datasets.cdc" ${_CONFIG_FILE})
124
150
125
- if [[ ${_DEPLOY_SAP_} == "true" && ${_SQL_FLAVOUR_} != "union" ]]; then
151
+ if [[ " ${_DEPLOY_SAP_}" == "true" && " ${_SQL_FLAVOUR_}" != "union" ]]; then
126
152
gcloud builds submit ./src/SAP/SAP_ML_MODELS \
127
153
--config=./src/SAP/SAP_ML_MODELS/cloudbuild.models.yaml \
128
- --substitutions=_PJID_SRC=${_PJID_SRC_},_PJID_TGT=${_PJID_TGT_},_DS_RAW=${_DS_RAW_},_DS_CDC=${_DS_CDC_},_DS_REPORTING=${_DS_REPORTING_},_DS_MODELS=${_DS_MODELS_},_SQL_FLAVOUR=${_SQL_FLAVOUR_},_LOCATION=${_LOCATION_},_MANDT=${_MANDT_},_GCS_BUCKET=${_GCS_BUCKET}
154
+ --substitutions=_PJID_SRC=" ${_PJID_SRC_}" ,_PJID_TGT=" ${_PJID_TGT_}" ,_DS_RAW=" ${_DS_RAW_}" ,_DS_CDC=" ${_DS_CDC_}" ,_DS_REPORTING=" ${_DS_REPORTING_}" ,_DS_MODELS=" ${_DS_MODELS_}" ,_SQL_FLAVOUR=" ${_SQL_FLAVOUR_}" ,_LOCATION=" ${_LOCATION_}" ,_MANDT=" ${_MANDT_}" ,_GCS_BUCKET=" ${_GCS_BUCKET}",_WORKER_POOL_NAME="${_WORKER_POOL_NAME}",_CLOUD_BUILD_REGION="${_CLOUD_BUILD_REGION}",_BUILD_ACCOUNT="${_BUILD_ACCOUNT}" --region="${_CLOUD_BUILD_REGION}"
129
155
else
130
156
echo "==Skipping ML for SAP=="
131
157
fi
@@ -138,12 +164,13 @@ steps:
138
164
waitFor : ['sfdc-test-harness', 'k9-pre']
139
165
script : |
140
166
#!/usr/bin/env bash
141
- _DEPLOY_SFDC_=$(jq -r ."deploySFDC" ${_CONFIG_FILE})
142
- if [[ ${_DEPLOY_SFDC_} == "true" ]]; then
143
- cp -f ${_CONFIG_FILE} src/SFDC/config/config.json
167
+ _DEPLOY_SFDC_=" $(jq -r ."deploySFDC" " ${_CONFIG_FILE}")"
168
+ if [[ " ${_DEPLOY_SFDC_}" == "true" ]]; then
169
+ cp -f " ${_CONFIG_FILE}" src/SFDC/config/config.json
144
170
gcloud builds submit ./src/SFDC \
145
171
--config=./src/SFDC/cloudbuild.sfdc.yaml \
146
- --substitutions=_GCS_BUCKET=${_GCS_BUCKET}
172
+ --substitutions=_GCS_BUCKET="${_GCS_BUCKET}",_WORKER_POOL_NAME="${_WORKER_POOL_NAME}",_CLOUD_BUILD_REGION="${_CLOUD_BUILD_REGION}",_BUILD_ACCOUNT="${_BUILD_ACCOUNT}" \
173
+ --region="${_CLOUD_BUILD_REGION}"
147
174
else
148
175
echo "==Skipping SFDC=="
149
176
fi
@@ -162,6 +189,8 @@ steps:
162
189
_DEPLOY_LIVERAMP_=$(jq -r ."marketing.deployLiveRamp" ${_CONFIG_FILE})
163
190
_DEPLOY_META_=$(jq -r ."marketing.deployMeta" ${_CONFIG_FILE})
164
191
_DEPLOY_SFMC_=$(jq -r ."marketing.deploySFMC" ${_CONFIG_FILE})
192
+ _DEPLOY_DV360_=$(jq -r ."marketing.deployDV360" ${_CONFIG_FILE})
193
+ _DEPLOY_GA4_=$(jq -r ."marketing.deployGA4" ${_CONFIG_FILE})
165
194
if [[ ${_DEPLOY_ADS_} == "true" ]]; then
166
195
echo "Deploying Google Ads Test Harness."
167
196
python3 src/common/create_test_harness.py --workload "marketing.GoogleAds" --dataset "raw"
@@ -186,6 +215,14 @@ steps:
186
215
echo "Deploying SFMC Test Harness."
187
216
python3 src/common/create_test_harness.py --workload "marketing.SFMC" --dataset "raw"
188
217
fi
218
+ if [[ ${_DEPLOY_DV360_} == "true" ]]; then
219
+ echo "Deploying DV360 Test Harness."
220
+ python3 src/common/create_test_harness.py --workload "marketing.DV360" --dataset "raw"
221
+ fi
222
+ if [[ ${_DEPLOY_GA4_} == "true" ]]; then
223
+ echo "Deploying Google Analytics 4 Test Harness."
224
+ python3 src/common/create_test_harness.py --workload "marketing.GA4" --dataset "cdc"
225
+ fi
189
226
else
190
227
echo "==Skipping Test Harness for Marketing=="
191
228
fi
@@ -195,55 +232,83 @@ steps:
195
232
waitFor : ['k9-pre', 'marketing-test-harness']
196
233
script : |
197
234
#!/usr/bin/env bash
198
- _DEPLOY_MARKETING_=$(jq -r ."deployMarketing" ${_CONFIG_FILE})
199
- if [[ ${_DEPLOY_MARKETING_} == "true" ]]; then
200
- cp -f ${_CONFIG_FILE} src/marketing/config/config.json
235
+ _DEPLOY_MARKETING_=" $(jq -r ."deployMarketing" " ${_CONFIG_FILE}")"
236
+ if [[ " ${_DEPLOY_MARKETING_}" == "true" ]]; then
237
+ cp -f " ${_CONFIG_FILE}" src/marketing/config/config.json
201
238
gcloud builds submit ./src/marketing \
202
239
--config=./src/marketing/cloudbuild.marketing.yaml \
203
- --substitutions=_GCS_LOGS_BUCKET=${_GCS_BUCKET}
240
+ --substitutions=_GCS_LOGS_BUCKET="${_GCS_BUCKET}",_WORKER_POOL_NAME="${_WORKER_POOL_NAME}",_CLOUD_BUILD_REGION="${_CLOUD_BUILD_REGION}",_BUILD_ACCOUNT="${_BUILD_ACCOUNT}" \
241
+ --region="${_CLOUD_BUILD_REGION}"
204
242
else
205
243
echo "==Skipping Marketing=="
206
244
fi
207
245
208
246
- name : gcr.io/kittycorn-public/deploy-kittycorn:v2.0
209
- id : ' k9-post '
210
- waitFor : ['k9-pre', 'sap-reporting', 'sfdc-deploy', 'marketing-deploy ']
247
+ id : ' oracle-ebs-test-harness '
248
+ waitFor : ['init_deploy_config ']
211
249
script : |
212
250
#!/usr/bin/env bash
213
- export PYTHONPATH=${PYTHONPATH}:src/:.
214
- python3 src/k9/src/deploy_k9.py \
215
- --config-file ${_CONFIG_FILE} \
216
- --stage post \
217
- --logs-bucket ${_GCS_BUCKET}
251
+ _DEPLOY_EBS_=$(jq -r ."deployOracleEBS" ${_CONFIG_FILE})
252
+ _TEST_DATA_=$(jq -r ."testData" ${_CONFIG_FILE})
218
253
219
- - name : gcr.io/kittycorn-public/credly:latest
220
- id : ' credly-badge'
221
- waitFor : ['k9-pre', 'sap-reporting', 'sfdc-deploy']
254
+ if [[ ${_NO_TEST_DATA} != "true" && ${_TEST_DATA_} == "true" && ${_DEPLOY_EBS_} == "true" ]]; then
255
+ echo "Deploying Oracle EBS Test Harness."
256
+ python3 src/common/create_test_harness.py --workload "OracleEBS" --dataset "cdc"
257
+ else
258
+ echo "==Skipping Test Harness for Oracle=="
259
+ fi
260
+
261
+ - name : gcr.io/kittycorn-public/deploy-kittycorn:v2.0
262
+ id : ' oracle-ebs-deploy'
263
+ waitFor : ['k9-pre', 'oracle-ebs-test-harness']
222
264
script : |
223
265
#!/usr/bin/env bash
224
- _FLAG_=$(jq -r ."shareWithCredly" ${_CONFIG_FILE})
225
- if [[ ${_FLAG_} != "true" ]]; then
226
- echo "===Skipping assigning a badge==="
266
+ _DEPLOY_EBS_=$(jq -r ."deployOracleEBS" ${_CONFIG_FILE})
267
+ if [[ ${_DEPLOY_EBS_} == "true" ]]; then
268
+ cp -f ${_CONFIG_FILE} src/OracleEBS/config/config.json
269
+ gcloud builds submit ./src/OracleEBS \
270
+ --config=./src/OracleEBS/cloudbuild.oracle_ebs.yaml \
271
+ --substitutions=_GCS_LOGS_BUCKET="${_GCS_BUCKET}",_WORKER_POOL_NAME="${_WORKER_POOL_NAME}",_CLOUD_BUILD_REGION="${_CLOUD_BUILD_REGION}",_BUILD_ACCOUNT="${_BUILD_ACCOUNT}" \
272
+ --region="${_CLOUD_BUILD_REGION}"
227
273
else
228
- _EMAIL_=$(jq -r ."userInfo.email" ${_CONFIG_FILE})
229
- _FN_=$(jq -r ."userInfo.firstName" ${_CONFIG_FILE})
230
- _LN_=$(jq -r ."userInfo.lastName" ${_CONFIG_FILE})
231
- cd /usr/src/app
232
- if [ -z ${_EMAIL_} ] || [ -z ${_FN_} ] || [ -z ${_LN_} ] || ! [ -f credly.py ]; then
233
- echo "===Email, first name and last name are required in config.json==="
234
- echo "===Skipping assigning a badge==="
235
- else
236
- python3 credly.py --fn ${_FN_} --ln ${_LN_} --email ${_EMAIL_} || exit 0
237
- fi
274
+ echo "==Skipping Oracle EBS=="
275
+ fi
276
+
277
+ - name : gcr.io/kittycorn-public/deploy-kittycorn:v2.0
278
+ id : ' k9-post'
279
+ waitFor : ['k9-pre', 'sap-reporting', 'sfdc-deploy', 'marketing-deploy', 'oracle-ebs-deploy']
280
+ script : |
281
+ #!/usr/bin/env bash
282
+ export PYTHONPATH=${PYTHONPATH}:src/:.
283
+ declare -a _WORKER_POOL_OPTIONS
284
+
285
+ if [[ -n "${_WORKER_POOL_NAME}" ]]; then
286
+ _WORKER_POOL_OPTIONS+=(--worker-pool-name "${_WORKER_POOL_NAME}")
287
+ fi
288
+
289
+ if [[ -n "${_CLOUD_BUILD_REGION}" ]]; then
290
+ _WORKER_POOL_OPTIONS+=(--region "${_CLOUD_BUILD_REGION}")
291
+ fi
292
+
293
+ if [[ -n "${_BUILD_ACCOUNT}" ]]; then
294
+ _WORKER_POOL_OPTIONS+=(--build-account "${_BUILD_ACCOUNT}")
238
295
fi
239
296
297
+ python3 src/k9/src/deploy_k9.py \
298
+ --config-file "${_CONFIG_FILE}" \
299
+ --stage post \
300
+ --logs-bucket "${_GCS_BUCKET}" \
301
+ "${_WORKER_POOL_OPTIONS[@]}"
302
+
240
303
logsBucket : " gs://${_GCS_BUCKET}"
304
+ serviceAccount : " ${_BUILD_ACCOUNT}"
241
305
timeout : 32400s
242
306
substitutions :
243
307
_CONFIG_FILE : " config/config.json"
244
- _DEPLOY_SAP_ML_MODELS : " false"
245
308
_NO_TEST_DATA : " false"
246
309
options :
247
310
substitution_option : " ALLOW_LOOSE"
248
311
automapSubstitutions : true
312
+ pool :
313
+ name : " ${_WORKER_POOL_NAME}"
249
314
tags : ["cortex"]
0 commit comments