@catladder/pipeline 1.111.3 → 1.111.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles/catladder-gitlab/index.js +3 -3
- package/dist/constants.js +1 -1
- package/dist/deploy/base/deploy.d.ts +4 -0
- package/dist/deploy/{base.js → base/deploy.js} +10 -58
- package/dist/deploy/base/index.d.ts +3 -0
- package/dist/deploy/base/index.js +21 -0
- package/dist/deploy/base/rollback.d.ts +4 -0
- package/dist/deploy/base/rollback.js +35 -0
- package/dist/deploy/base/stop.d.ts +4 -0
- package/dist/deploy/base/stop.js +39 -0
- package/dist/deploy/base/types.d.ts +2 -0
- package/dist/deploy/base/types.js +3 -0
- package/dist/deploy/base/variables.d.ts +6 -0
- package/dist/deploy/base/variables.js +10 -0
- package/dist/deploy/kubernetes/deployJob.js +3 -15
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/gitlab-types.d.ts +0 -3
- package/examples/__snapshots__/kubernetes-application-customization.ts.snap +0 -36
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +0 -36
- package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +0 -36
- package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +0 -72
- package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +0 -36
- package/examples/__snapshots__/meteor-kubernetes.ts.snap +0 -36
- package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +0 -36
- package/package.json +1 -1
- package/src/deploy/{base.ts → base/deploy.ts} +11 -70
- package/src/deploy/base/index.ts +3 -0
- package/src/deploy/base/rollback.ts +29 -0
- package/src/deploy/base/stop.ts +35 -0
- package/src/deploy/base/types.ts +3 -0
- package/src/deploy/base/variables.ts +6 -0
- package/src/deploy/kubernetes/deployJob.ts +1 -12
- package/src/types/gitlab-types.ts +0 -3
- package/dist/deploy/base.d.ts +0 -10
|
@@ -8,9 +8,6 @@ exports[`matches snapshot 1`] = `
|
|
|
8
8
|
"api ↩️ Rollback ⚠️ | dev ": {
|
|
9
9
|
"environment": {
|
|
10
10
|
"action": "access",
|
|
11
|
-
"kubernetes": {
|
|
12
|
-
"namespace": "pan-test-app-dev",
|
|
13
|
-
},
|
|
14
11
|
"name": "dev/api",
|
|
15
12
|
"url": "https://api.dev.test-app.pan.panter.cloud",
|
|
16
13
|
},
|
|
@@ -315,9 +312,6 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
315
312
|
"allow_failure": false,
|
|
316
313
|
"environment": {
|
|
317
314
|
"auto_stop_in": "4 weeks",
|
|
318
|
-
"kubernetes": {
|
|
319
|
-
"namespace": "pan-test-app-dev",
|
|
320
|
-
},
|
|
321
315
|
"name": "dev/api",
|
|
322
316
|
"on_stop": "api 🛑 Stop ⚠️ | dev ",
|
|
323
317
|
"url": "https://api.dev.test-app.pan.panter.cloud",
|
|
@@ -466,9 +460,6 @@ mongodb:
|
|
|
466
460
|
"api 🛑 Stop ⚠️ | dev ": {
|
|
467
461
|
"environment": {
|
|
468
462
|
"action": "stop",
|
|
469
|
-
"kubernetes": {
|
|
470
|
-
"namespace": "pan-test-app-dev",
|
|
471
|
-
},
|
|
472
463
|
"name": "dev/api",
|
|
473
464
|
"url": "https://api.dev.test-app.pan.panter.cloud",
|
|
474
465
|
},
|
|
@@ -753,9 +744,6 @@ mongodb:
|
|
|
753
744
|
"api ↩️ Rollback ⚠️ | review ": {
|
|
754
745
|
"environment": {
|
|
755
746
|
"action": "access",
|
|
756
|
-
"kubernetes": {
|
|
757
|
-
"namespace": "pan-test-app-review",
|
|
758
|
-
},
|
|
759
747
|
"name": "review/some-commit/api",
|
|
760
748
|
"url": "https://api.mr1234.review.test-app.pan.panter.cloud",
|
|
761
749
|
},
|
|
@@ -1060,9 +1048,6 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
1060
1048
|
"allow_failure": false,
|
|
1061
1049
|
"environment": {
|
|
1062
1050
|
"auto_stop_in": "2 week",
|
|
1063
|
-
"kubernetes": {
|
|
1064
|
-
"namespace": "pan-test-app-review",
|
|
1065
|
-
},
|
|
1066
1051
|
"name": "review/some-commit/api",
|
|
1067
1052
|
"on_stop": "api 🛑 Stop ⚠️ | review ",
|
|
1068
1053
|
"url": "https://api.mr1234.review.test-app.pan.panter.cloud",
|
|
@@ -1211,9 +1196,6 @@ mongodb:
|
|
|
1211
1196
|
"api 🛑 Stop ⚠️ | review ": {
|
|
1212
1197
|
"environment": {
|
|
1213
1198
|
"action": "stop",
|
|
1214
|
-
"kubernetes": {
|
|
1215
|
-
"namespace": "pan-test-app-review",
|
|
1216
|
-
},
|
|
1217
1199
|
"name": "review/some-commit/api",
|
|
1218
1200
|
"url": "https://api.mr1234.review.test-app.pan.panter.cloud",
|
|
1219
1201
|
},
|
|
@@ -1498,9 +1480,6 @@ mongodb:
|
|
|
1498
1480
|
"api ↩️ Rollback ⚠️ | prod ": {
|
|
1499
1481
|
"environment": {
|
|
1500
1482
|
"action": "access",
|
|
1501
|
-
"kubernetes": {
|
|
1502
|
-
"namespace": "pan-test-app-prod",
|
|
1503
|
-
},
|
|
1504
1483
|
"name": "prod/api",
|
|
1505
1484
|
"url": "https://api.prod.test-app.pan.panter.cloud",
|
|
1506
1485
|
},
|
|
@@ -1615,9 +1594,6 @@ mongodb:
|
|
|
1615
1594
|
"api ↩️ Rollback ⚠️ | stage ": {
|
|
1616
1595
|
"environment": {
|
|
1617
1596
|
"action": "access",
|
|
1618
|
-
"kubernetes": {
|
|
1619
|
-
"namespace": "pan-test-app-stage",
|
|
1620
|
-
},
|
|
1621
1597
|
"name": "stage/api",
|
|
1622
1598
|
"url": "https://api.stage.test-app.pan.panter.cloud",
|
|
1623
1599
|
},
|
|
@@ -2025,9 +2001,6 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
2025
2001
|
"allow_failure": true,
|
|
2026
2002
|
"environment": {
|
|
2027
2003
|
"auto_stop_in": undefined,
|
|
2028
|
-
"kubernetes": {
|
|
2029
|
-
"namespace": "pan-test-app-prod",
|
|
2030
|
-
},
|
|
2031
2004
|
"name": "prod/api",
|
|
2032
2005
|
"on_stop": "api 🛑 Stop ⚠️ | prod ",
|
|
2033
2006
|
"url": "https://api.prod.test-app.pan.panter.cloud",
|
|
@@ -2165,9 +2138,6 @@ mongodb:
|
|
|
2165
2138
|
"allow_failure": false,
|
|
2166
2139
|
"environment": {
|
|
2167
2140
|
"auto_stop_in": undefined,
|
|
2168
|
-
"kubernetes": {
|
|
2169
|
-
"namespace": "pan-test-app-stage",
|
|
2170
|
-
},
|
|
2171
2141
|
"name": "stage/api",
|
|
2172
2142
|
"on_stop": "api 🛑 Stop ⚠️ | stage ",
|
|
2173
2143
|
"url": "https://api.stage.test-app.pan.panter.cloud",
|
|
@@ -2304,9 +2274,6 @@ mongodb:
|
|
|
2304
2274
|
"api 🛑 Stop ⚠️ | prod ": {
|
|
2305
2275
|
"environment": {
|
|
2306
2276
|
"action": "stop",
|
|
2307
|
-
"kubernetes": {
|
|
2308
|
-
"namespace": "pan-test-app-prod",
|
|
2309
|
-
},
|
|
2310
2277
|
"name": "prod/api",
|
|
2311
2278
|
"url": "https://api.prod.test-app.pan.panter.cloud",
|
|
2312
2279
|
},
|
|
@@ -2428,9 +2395,6 @@ mongodb:
|
|
|
2428
2395
|
"api 🛑 Stop ⚠️ | stage ": {
|
|
2429
2396
|
"environment": {
|
|
2430
2397
|
"action": "stop",
|
|
2431
|
-
"kubernetes": {
|
|
2432
|
-
"namespace": "pan-test-app-stage",
|
|
2433
|
-
},
|
|
2434
2398
|
"name": "stage/api",
|
|
2435
2399
|
"url": "https://api.stage.test-app.pan.panter.cloud",
|
|
2436
2400
|
},
|
|
@@ -8,9 +8,6 @@ exports[`matches snapshot 1`] = `
|
|
|
8
8
|
"web ↩️ Rollback ⚠️ | dev ": {
|
|
9
9
|
"environment": {
|
|
10
10
|
"action": "access",
|
|
11
|
-
"kubernetes": {
|
|
12
|
-
"namespace": "pan-my-app-dev",
|
|
13
|
-
},
|
|
14
11
|
"name": "dev/web",
|
|
15
12
|
"url": "https://web.dev.my-app.pan.panter.cloud",
|
|
16
13
|
},
|
|
@@ -299,9 +296,6 @@ mongodb:
|
|
|
299
296
|
"allow_failure": false,
|
|
300
297
|
"environment": {
|
|
301
298
|
"auto_stop_in": "4 weeks",
|
|
302
|
-
"kubernetes": {
|
|
303
|
-
"namespace": "pan-my-app-dev",
|
|
304
|
-
},
|
|
305
299
|
"name": "dev/web",
|
|
306
300
|
"on_stop": "web 🛑 Stop ⚠️ | dev ",
|
|
307
301
|
"url": "https://web.dev.my-app.pan.panter.cloud",
|
|
@@ -444,9 +438,6 @@ mongodb:
|
|
|
444
438
|
"web 🛑 Stop ⚠️ | dev ": {
|
|
445
439
|
"environment": {
|
|
446
440
|
"action": "stop",
|
|
447
|
-
"kubernetes": {
|
|
448
|
-
"namespace": "pan-my-app-dev",
|
|
449
|
-
},
|
|
450
441
|
"name": "dev/web",
|
|
451
442
|
"url": "https://web.dev.my-app.pan.panter.cloud",
|
|
452
443
|
},
|
|
@@ -725,9 +716,6 @@ mongodb:
|
|
|
725
716
|
"web ↩️ Rollback ⚠️ | review ": {
|
|
726
717
|
"environment": {
|
|
727
718
|
"action": "access",
|
|
728
|
-
"kubernetes": {
|
|
729
|
-
"namespace": "pan-my-app-review",
|
|
730
|
-
},
|
|
731
719
|
"name": "review/some-commit/web",
|
|
732
720
|
"url": "https://web.mr1234.review.my-app.pan.panter.cloud",
|
|
733
721
|
},
|
|
@@ -1016,9 +1004,6 @@ mongodb:
|
|
|
1016
1004
|
"allow_failure": false,
|
|
1017
1005
|
"environment": {
|
|
1018
1006
|
"auto_stop_in": "2 week",
|
|
1019
|
-
"kubernetes": {
|
|
1020
|
-
"namespace": "pan-my-app-review",
|
|
1021
|
-
},
|
|
1022
1007
|
"name": "review/some-commit/web",
|
|
1023
1008
|
"on_stop": "web 🛑 Stop ⚠️ | review ",
|
|
1024
1009
|
"url": "https://web.mr1234.review.my-app.pan.panter.cloud",
|
|
@@ -1161,9 +1146,6 @@ mongodb:
|
|
|
1161
1146
|
"web 🛑 Stop ⚠️ | review ": {
|
|
1162
1147
|
"environment": {
|
|
1163
1148
|
"action": "stop",
|
|
1164
|
-
"kubernetes": {
|
|
1165
|
-
"namespace": "pan-my-app-review",
|
|
1166
|
-
},
|
|
1167
1149
|
"name": "review/some-commit/web",
|
|
1168
1150
|
"url": "https://web.mr1234.review.my-app.pan.panter.cloud",
|
|
1169
1151
|
},
|
|
@@ -1442,9 +1424,6 @@ mongodb:
|
|
|
1442
1424
|
"web ↩️ Rollback ⚠️ | prod ": {
|
|
1443
1425
|
"environment": {
|
|
1444
1426
|
"action": "access",
|
|
1445
|
-
"kubernetes": {
|
|
1446
|
-
"namespace": "pan-my-app-prod",
|
|
1447
|
-
},
|
|
1448
1427
|
"name": "prod/web",
|
|
1449
1428
|
"url": "https://www.example.com",
|
|
1450
1429
|
},
|
|
@@ -1565,9 +1544,6 @@ mongodb:
|
|
|
1565
1544
|
"web ↩️ Rollback ⚠️ | stage ": {
|
|
1566
1545
|
"environment": {
|
|
1567
1546
|
"action": "access",
|
|
1568
|
-
"kubernetes": {
|
|
1569
|
-
"namespace": "pan-my-app-stage",
|
|
1570
|
-
},
|
|
1571
1547
|
"name": "stage/web",
|
|
1572
1548
|
"url": "https://web.stage.my-app.pan.panter.cloud",
|
|
1573
1549
|
},
|
|
@@ -1950,9 +1926,6 @@ mongodb:
|
|
|
1950
1926
|
"allow_failure": true,
|
|
1951
1927
|
"environment": {
|
|
1952
1928
|
"auto_stop_in": undefined,
|
|
1953
|
-
"kubernetes": {
|
|
1954
|
-
"namespace": "pan-my-app-prod",
|
|
1955
|
-
},
|
|
1956
1929
|
"name": "prod/web",
|
|
1957
1930
|
"on_stop": "web 🛑 Stop ⚠️ | prod ",
|
|
1958
1931
|
"url": "https://www.example.com",
|
|
@@ -2096,9 +2069,6 @@ mongodb:
|
|
|
2096
2069
|
"allow_failure": false,
|
|
2097
2070
|
"environment": {
|
|
2098
2071
|
"auto_stop_in": undefined,
|
|
2099
|
-
"kubernetes": {
|
|
2100
|
-
"namespace": "pan-my-app-stage",
|
|
2101
|
-
},
|
|
2102
2072
|
"name": "stage/web",
|
|
2103
2073
|
"on_stop": "web 🛑 Stop ⚠️ | stage ",
|
|
2104
2074
|
"url": "https://web.stage.my-app.pan.panter.cloud",
|
|
@@ -2229,9 +2199,6 @@ mongodb:
|
|
|
2229
2199
|
"web 🛑 Stop ⚠️ | prod ": {
|
|
2230
2200
|
"environment": {
|
|
2231
2201
|
"action": "stop",
|
|
2232
|
-
"kubernetes": {
|
|
2233
|
-
"namespace": "pan-my-app-prod",
|
|
2234
|
-
},
|
|
2235
2202
|
"name": "prod/web",
|
|
2236
2203
|
"url": "https://www.example.com",
|
|
2237
2204
|
},
|
|
@@ -2359,9 +2326,6 @@ mongodb:
|
|
|
2359
2326
|
"web 🛑 Stop ⚠️ | stage ": {
|
|
2360
2327
|
"environment": {
|
|
2361
2328
|
"action": "stop",
|
|
2362
|
-
"kubernetes": {
|
|
2363
|
-
"namespace": "pan-my-app-stage",
|
|
2364
|
-
},
|
|
2365
2329
|
"name": "stage/web",
|
|
2366
2330
|
"url": "https://web.stage.my-app.pan.panter.cloud",
|
|
2367
2331
|
},
|
|
@@ -8,9 +8,6 @@ exports[`matches snapshot 1`] = `
|
|
|
8
8
|
"app ↩️ Rollback ⚠️ | dev ": {
|
|
9
9
|
"environment": {
|
|
10
10
|
"action": "access",
|
|
11
|
-
"kubernetes": {
|
|
12
|
-
"namespace": "pan-test-app-dev",
|
|
13
|
-
},
|
|
14
11
|
"name": "dev/app",
|
|
15
12
|
"url": "https://app.dev.test-app.pan.panter.cloud",
|
|
16
13
|
},
|
|
@@ -199,9 +196,6 @@ jobs:
|
|
|
199
196
|
"allow_failure": false,
|
|
200
197
|
"environment": {
|
|
201
198
|
"auto_stop_in": "4 weeks",
|
|
202
|
-
"kubernetes": {
|
|
203
|
-
"namespace": "pan-test-app-dev",
|
|
204
|
-
},
|
|
205
199
|
"name": "dev/app",
|
|
206
200
|
"on_stop": "app 🛑 Stop ⚠️ | dev ",
|
|
207
201
|
"url": "https://app.dev.test-app.pan.panter.cloud",
|
|
@@ -339,9 +333,6 @@ jobs:
|
|
|
339
333
|
"app 🛑 Stop ⚠️ | dev ": {
|
|
340
334
|
"environment": {
|
|
341
335
|
"action": "stop",
|
|
342
|
-
"kubernetes": {
|
|
343
|
-
"namespace": "pan-test-app-dev",
|
|
344
|
-
},
|
|
345
336
|
"name": "dev/app",
|
|
346
337
|
"url": "https://app.dev.test-app.pan.panter.cloud",
|
|
347
338
|
},
|
|
@@ -602,9 +593,6 @@ jobs:
|
|
|
602
593
|
"app ↩️ Rollback ⚠️ | review ": {
|
|
603
594
|
"environment": {
|
|
604
595
|
"action": "access",
|
|
605
|
-
"kubernetes": {
|
|
606
|
-
"namespace": "pan-test-app-review",
|
|
607
|
-
},
|
|
608
596
|
"name": "review/some-commit/app",
|
|
609
597
|
"url": "https://app.mr1234.review.test-app.pan.panter.cloud",
|
|
610
598
|
},
|
|
@@ -796,9 +784,6 @@ jobs:
|
|
|
796
784
|
"allow_failure": false,
|
|
797
785
|
"environment": {
|
|
798
786
|
"auto_stop_in": "2 week",
|
|
799
|
-
"kubernetes": {
|
|
800
|
-
"namespace": "pan-test-app-review",
|
|
801
|
-
},
|
|
802
787
|
"name": "review/some-commit/app",
|
|
803
788
|
"on_stop": "app 🛑 Stop ⚠️ | review ",
|
|
804
789
|
"url": "https://app.mr1234.review.test-app.pan.panter.cloud",
|
|
@@ -939,9 +924,6 @@ jobs:
|
|
|
939
924
|
"app 🛑 Stop ⚠️ | review ": {
|
|
940
925
|
"environment": {
|
|
941
926
|
"action": "stop",
|
|
942
|
-
"kubernetes": {
|
|
943
|
-
"namespace": "pan-test-app-review",
|
|
944
|
-
},
|
|
945
927
|
"name": "review/some-commit/app",
|
|
946
928
|
"url": "https://app.mr1234.review.test-app.pan.panter.cloud",
|
|
947
929
|
},
|
|
@@ -1205,9 +1187,6 @@ jobs:
|
|
|
1205
1187
|
"app ↩️ Rollback ⚠️ | prod ": {
|
|
1206
1188
|
"environment": {
|
|
1207
1189
|
"action": "access",
|
|
1208
|
-
"kubernetes": {
|
|
1209
|
-
"namespace": "pan-test-app-prod",
|
|
1210
|
-
},
|
|
1211
1190
|
"name": "prod/app",
|
|
1212
1191
|
"url": "https://my-fancy-website.com",
|
|
1213
1192
|
},
|
|
@@ -1315,9 +1294,6 @@ jobs:
|
|
|
1315
1294
|
"app ↩️ Rollback ⚠️ | stage ": {
|
|
1316
1295
|
"environment": {
|
|
1317
1296
|
"action": "access",
|
|
1318
|
-
"kubernetes": {
|
|
1319
|
-
"namespace": "pan-test-app-stage",
|
|
1320
|
-
},
|
|
1321
1297
|
"name": "stage/app",
|
|
1322
1298
|
"url": "https://app.stage.test-app.pan.panter.cloud",
|
|
1323
1299
|
},
|
|
@@ -1524,9 +1500,6 @@ jobs:
|
|
|
1524
1500
|
"allow_failure": true,
|
|
1525
1501
|
"environment": {
|
|
1526
1502
|
"auto_stop_in": undefined,
|
|
1527
|
-
"kubernetes": {
|
|
1528
|
-
"namespace": "pan-test-app-prod",
|
|
1529
|
-
},
|
|
1530
1503
|
"name": "prod/app",
|
|
1531
1504
|
"on_stop": "app 🛑 Stop ⚠️ | prod ",
|
|
1532
1505
|
"url": "https://my-fancy-website.com",
|
|
@@ -1653,9 +1626,6 @@ jobs:
|
|
|
1653
1626
|
"allow_failure": false,
|
|
1654
1627
|
"environment": {
|
|
1655
1628
|
"auto_stop_in": undefined,
|
|
1656
|
-
"kubernetes": {
|
|
1657
|
-
"namespace": "pan-test-app-stage",
|
|
1658
|
-
},
|
|
1659
1629
|
"name": "stage/app",
|
|
1660
1630
|
"on_stop": "app 🛑 Stop ⚠️ | stage ",
|
|
1661
1631
|
"url": "https://app.stage.test-app.pan.panter.cloud",
|
|
@@ -1781,9 +1751,6 @@ jobs:
|
|
|
1781
1751
|
"app 🛑 Stop ⚠️ | prod ": {
|
|
1782
1752
|
"environment": {
|
|
1783
1753
|
"action": "stop",
|
|
1784
|
-
"kubernetes": {
|
|
1785
|
-
"namespace": "pan-test-app-prod",
|
|
1786
|
-
},
|
|
1787
1754
|
"name": "prod/app",
|
|
1788
1755
|
"url": "https://my-fancy-website.com",
|
|
1789
1756
|
},
|
|
@@ -1898,9 +1865,6 @@ jobs:
|
|
|
1898
1865
|
"app 🛑 Stop ⚠️ | stage ": {
|
|
1899
1866
|
"environment": {
|
|
1900
1867
|
"action": "stop",
|
|
1901
|
-
"kubernetes": {
|
|
1902
|
-
"namespace": "pan-test-app-stage",
|
|
1903
|
-
},
|
|
1904
1868
|
"name": "stage/app",
|
|
1905
1869
|
"url": "https://app.stage.test-app.pan.panter.cloud",
|
|
1906
1870
|
},
|
package/package.json
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
getDockerImageVariables,
|
|
3
|
+
requiresDockerBuild,
|
|
4
|
+
} from "../../build/docker";
|
|
5
|
+
import { SBOM_BUILD_JOB_NAME } from "../../build/sbom";
|
|
6
|
+
import type { Context } from "../../types/context";
|
|
7
|
+
import { sbomDeactivated } from "../sbom";
|
|
8
|
+
import { contextIsStoppable } from "../utils";
|
|
9
|
+
import { STOP_JOB_NAME } from "./stop";
|
|
10
|
+
import type { JobWithoutScript } from "./types";
|
|
11
|
+
import { DEPLOY_RUNNER_VARIABLES } from "./variables";
|
|
7
12
|
|
|
8
13
|
export const DEPLOY_JOB_NAME = "🚀 Deploy";
|
|
9
|
-
export const STOP_JOB_NAME = "🛑 Stop ⚠️";
|
|
10
|
-
export const ROLLBACK_JOB_NAME = "↩️ Rollback ⚠️";
|
|
11
14
|
|
|
12
|
-
const DEPLOY_RUNNER_VARIABLES = {
|
|
13
|
-
KUBERNETES_CPU_REQUEST: "0.5",
|
|
14
|
-
KUBERNETES_CPU_LIMIT: "1",
|
|
15
|
-
KUBERNETES_MEMORY_REQUEST: "200Mi",
|
|
16
|
-
KUBERNETES_MEMORY_LIMIT: "400Mi",
|
|
17
|
-
};
|
|
18
|
-
type JobWithoutScript = Omit<CatladderJob, "script">;
|
|
19
15
|
export const getBaseDeploymentJob = (context: Context): JobWithoutScript => {
|
|
20
16
|
const hasDocker = requiresDockerBuild(context);
|
|
21
17
|
const isStoppable = contextIsStoppable(context);
|
|
@@ -102,58 +98,3 @@ export const getBaseDeploymentJob = (context: Context): JobWithoutScript => {
|
|
|
102
98
|
: undefined,
|
|
103
99
|
};
|
|
104
100
|
};
|
|
105
|
-
|
|
106
|
-
export const getBaseDeploymentStopJob = (
|
|
107
|
-
context: Context
|
|
108
|
-
): JobWithoutScript => {
|
|
109
|
-
return {
|
|
110
|
-
name: STOP_JOB_NAME,
|
|
111
|
-
envMode: "stagePerEnv", // makes it easier to run manual tasks er env
|
|
112
|
-
needs: [], // can be executed even if the deploy job failed
|
|
113
|
-
rules: [
|
|
114
|
-
{
|
|
115
|
-
if: "$CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/", // automatic on hotfix branches
|
|
116
|
-
when: "on_success",
|
|
117
|
-
allow_failure: true,
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
when: "manual",
|
|
121
|
-
allow_failure: true,
|
|
122
|
-
},
|
|
123
|
-
],
|
|
124
|
-
variables: {
|
|
125
|
-
...DEPLOY_RUNNER_VARIABLES,
|
|
126
|
-
...context.environment.jobOnlyVars.deploy.envVars,
|
|
127
|
-
GIT_STRATEGY: "none",
|
|
128
|
-
},
|
|
129
|
-
stage: "stop",
|
|
130
|
-
environment: {
|
|
131
|
-
...context.environment.gitlabEnvironment,
|
|
132
|
-
action: "stop",
|
|
133
|
-
},
|
|
134
|
-
};
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
export const getBaseRollbackJob = (context: Context): JobWithoutScript => {
|
|
138
|
-
return {
|
|
139
|
-
name: ROLLBACK_JOB_NAME,
|
|
140
|
-
envMode: "stagePerEnv", // makes it easier to run manual tasks er env
|
|
141
|
-
needs: [], // can be executed even if the deploy job failed
|
|
142
|
-
rules: [
|
|
143
|
-
{
|
|
144
|
-
when: "manual",
|
|
145
|
-
allow_failure: true,
|
|
146
|
-
},
|
|
147
|
-
],
|
|
148
|
-
variables: {
|
|
149
|
-
...DEPLOY_RUNNER_VARIABLES,
|
|
150
|
-
...context.environment.jobOnlyVars.deploy.envVars,
|
|
151
|
-
GIT_STRATEGY: "none",
|
|
152
|
-
},
|
|
153
|
-
stage: "rollback",
|
|
154
|
-
environment: {
|
|
155
|
-
...context.environment.gitlabEnvironment,
|
|
156
|
-
action: "access",
|
|
157
|
-
},
|
|
158
|
-
};
|
|
159
|
-
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Context } from "../../types/context";
|
|
2
|
+
import type { JobWithoutScript } from "./types";
|
|
3
|
+
import { DEPLOY_RUNNER_VARIABLES } from "./variables";
|
|
4
|
+
|
|
5
|
+
export const ROLLBACK_JOB_NAME = "↩️ Rollback ⚠️";
|
|
6
|
+
|
|
7
|
+
export const getBaseRollbackJob = (context: Context): JobWithoutScript => {
|
|
8
|
+
return {
|
|
9
|
+
name: ROLLBACK_JOB_NAME,
|
|
10
|
+
envMode: "stagePerEnv", // makes it easier to run manual tasks er env
|
|
11
|
+
needs: [], // can be executed even if the deploy job failed
|
|
12
|
+
rules: [
|
|
13
|
+
{
|
|
14
|
+
when: "manual",
|
|
15
|
+
allow_failure: true,
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
variables: {
|
|
19
|
+
...DEPLOY_RUNNER_VARIABLES,
|
|
20
|
+
...context.environment.jobOnlyVars.deploy.envVars,
|
|
21
|
+
GIT_STRATEGY: "none",
|
|
22
|
+
},
|
|
23
|
+
stage: "rollback",
|
|
24
|
+
environment: {
|
|
25
|
+
...context.environment.gitlabEnvironment,
|
|
26
|
+
action: "access",
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Context } from "../../types/context";
|
|
2
|
+
import type { JobWithoutScript } from "./types";
|
|
3
|
+
import { DEPLOY_RUNNER_VARIABLES } from "./variables";
|
|
4
|
+
export const STOP_JOB_NAME = "🛑 Stop ⚠️";
|
|
5
|
+
|
|
6
|
+
export const getBaseDeploymentStopJob = (
|
|
7
|
+
context: Context
|
|
8
|
+
): JobWithoutScript => {
|
|
9
|
+
return {
|
|
10
|
+
name: STOP_JOB_NAME,
|
|
11
|
+
envMode: "stagePerEnv", // makes it easier to run manual tasks er env
|
|
12
|
+
needs: [], // can be executed even if the deploy job failed
|
|
13
|
+
rules: [
|
|
14
|
+
{
|
|
15
|
+
if: "$CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/", // automatic on hotfix branches
|
|
16
|
+
when: "on_success",
|
|
17
|
+
allow_failure: true,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
when: "manual",
|
|
21
|
+
allow_failure: true,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
variables: {
|
|
25
|
+
...DEPLOY_RUNNER_VARIABLES,
|
|
26
|
+
...context.environment.jobOnlyVars.deploy.envVars,
|
|
27
|
+
GIT_STRATEGY: "none",
|
|
28
|
+
},
|
|
29
|
+
stage: "stop",
|
|
30
|
+
environment: {
|
|
31
|
+
...context.environment.gitlabEnvironment,
|
|
32
|
+
action: "stop",
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -29,9 +29,7 @@ export const createKubernetesDeployJobs = (
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const kubeValues = createKubeValues(context);
|
|
32
|
-
|
|
33
|
-
namespace: context.environment.envVars.KUBE_NAMESPACE,
|
|
34
|
-
};
|
|
32
|
+
|
|
35
33
|
const shared = {
|
|
36
34
|
image: getRunnerImage("kubernetes"),
|
|
37
35
|
variables: {
|
|
@@ -83,9 +81,6 @@ export const createKubernetesDeployJobs = (
|
|
|
83
81
|
...getDependencyTrackUploadScript(context),
|
|
84
82
|
"echo deployment successful 😻",
|
|
85
83
|
],
|
|
86
|
-
environment: {
|
|
87
|
-
kubernetes: kubernetesEnvironment,
|
|
88
|
-
},
|
|
89
84
|
}),
|
|
90
85
|
merge({}, baseStopJob, shared, {
|
|
91
86
|
script: [
|
|
@@ -93,16 +88,10 @@ export const createKubernetesDeployJobs = (
|
|
|
93
88
|
"kubernetesDelete",
|
|
94
89
|
...getDependencyTrackDeleteScript(context),
|
|
95
90
|
],
|
|
96
|
-
environment: {
|
|
97
|
-
kubernetes: kubernetesEnvironment,
|
|
98
|
-
},
|
|
99
91
|
}),
|
|
100
92
|
|
|
101
93
|
merge({}, baseRollbackJob, shared, {
|
|
102
94
|
script: [...connectContext, "kubernetesRollback"],
|
|
103
|
-
environment: {
|
|
104
|
-
kubernetes: kubernetesEnvironment,
|
|
105
|
-
},
|
|
106
95
|
}),
|
|
107
96
|
];
|
|
108
97
|
};
|
|
@@ -53,9 +53,6 @@ export type GitlabJobImage =
|
|
|
53
53
|
export type GitlabEnvironment = {
|
|
54
54
|
url: string;
|
|
55
55
|
name: string;
|
|
56
|
-
kubernetes?: {
|
|
57
|
-
namespace?: string;
|
|
58
|
-
};
|
|
59
56
|
action?: "stop" | "start" | "prepare" | "access"; // defaults to start
|
|
60
57
|
on_stop?: string; // other job to run on stop
|
|
61
58
|
auto_stop_in?: string;
|
package/dist/deploy/base.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Context } from "../types";
|
|
2
|
-
import type { CatladderJob } from "../types/jobs";
|
|
3
|
-
export declare const DEPLOY_JOB_NAME = "\uD83D\uDE80 Deploy";
|
|
4
|
-
export declare const STOP_JOB_NAME = "\uD83D\uDED1 Stop \u26A0\uFE0F";
|
|
5
|
-
export declare const ROLLBACK_JOB_NAME = "\u21A9\uFE0F Rollback \u26A0\uFE0F";
|
|
6
|
-
declare type JobWithoutScript = Omit<CatladderJob, "script">;
|
|
7
|
-
export declare const getBaseDeploymentJob: (context: Context) => JobWithoutScript;
|
|
8
|
-
export declare const getBaseDeploymentStopJob: (context: Context) => JobWithoutScript;
|
|
9
|
-
export declare const getBaseRollbackJob: (context: Context) => JobWithoutScript;
|
|
10
|
-
export {};
|