@catladder/pipeline 1.134.0 → 1.135.0
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 +2 -2
- package/dist/constants.js +1 -1
- package/dist/deploy/cloudRun/createJobs/cloudRunJobs.d.ts +7 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunJobs.js +178 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunServices.d.ts +4 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunServices.js +54 -0
- package/dist/deploy/cloudRun/createJobs/common.d.ts +18 -0
- package/dist/deploy/cloudRun/createJobs/common.js +90 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.d.ts +2 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +56 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.d.ts +2 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +52 -0
- package/dist/deploy/cloudRun/createJobs/index.d.ts +3 -0
- package/dist/deploy/cloudRun/createJobs/index.js +43 -0
- package/dist/deploy/cloudRun/createJobs/variables.d.ts +5 -0
- package/dist/deploy/cloudRun/createJobs/variables.js +19 -0
- package/dist/deploy/cloudRun/index.js +2 -2
- package/dist/deploy/types/googleCloudRun.d.ts +9 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/examples/__snapshots__/cloud-run-post-stop-job.ts.snap +5 -5
- package/examples/__snapshots__/cloud-run-service-gen2.ts.snap +1839 -0
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +36 -36
- package/examples/cloud-run-service-gen2.ts +27 -0
- package/package.json +1 -1
- package/src/deploy/cloudRun/createJobs/cloudRunJobs.ts +182 -0
- package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +74 -0
- package/src/deploy/cloudRun/createJobs/common.ts +59 -0
- package/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts +58 -0
- package/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.ts +34 -0
- package/src/deploy/cloudRun/createJobs/index.ts +45 -0
- package/src/deploy/cloudRun/createJobs/variables.ts +21 -0
- package/src/deploy/cloudRun/index.ts +1 -1
- package/src/deploy/types/googleCloudRun.ts +11 -1
- package/dist/deploy/cloudRun/deployJob.d.ts +0 -3
- package/dist/deploy/cloudRun/deployJob.js +0 -261
- package/src/deploy/cloudRun/deployJob.ts +0 -318
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { merge } from "lodash";
|
|
2
|
+
|
|
3
|
+
import { getDockerJobBaseProps } from "../../../build/docker";
|
|
4
|
+
import { getRunnerImage } from "../../../runner";
|
|
5
|
+
import type { Context } from "../../../types/context";
|
|
6
|
+
import type { CatladderJob } from "../../../types/jobs";
|
|
7
|
+
import { allowFailureInScripts } from "../../../utils/gitlab";
|
|
8
|
+
import { createDeployementJobs } from "../../base";
|
|
9
|
+
|
|
10
|
+
import { isOfDeployType } from "../../types";
|
|
11
|
+
import { getDeployJobVariables } from "./variables";
|
|
12
|
+
import { getCloudRunDeployScripts } from "./getCloudRunDeployScripts";
|
|
13
|
+
import { getCloudRunStopScripts } from "./getCloudRunStopScripts";
|
|
14
|
+
|
|
15
|
+
export const createGoogleCloudRunDeployJobs = (
|
|
16
|
+
context: Context
|
|
17
|
+
): CatladderJob[] => {
|
|
18
|
+
const deployConfig = context.componentConfig.deploy;
|
|
19
|
+
if (deployConfig === false) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
if (!isOfDeployType(deployConfig, "google-cloudrun")) {
|
|
23
|
+
// should not happen
|
|
24
|
+
throw new Error("deploy config is wrong");
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const deployScripts = getCloudRunDeployScripts(context);
|
|
28
|
+
const stopScripts = getCloudRunStopScripts(context);
|
|
29
|
+
|
|
30
|
+
return createDeployementJobs(context, {
|
|
31
|
+
deploy: merge(getDockerJobBaseProps(context), {
|
|
32
|
+
artifacts: { paths: ["____envvars.yaml"] },
|
|
33
|
+
variables: getDeployJobVariables(context),
|
|
34
|
+
image: getRunnerImage("gcloud"),
|
|
35
|
+
script: deployScripts,
|
|
36
|
+
}),
|
|
37
|
+
stop: {
|
|
38
|
+
image: getRunnerImage("gcloud"),
|
|
39
|
+
variables: {
|
|
40
|
+
CLOUDSDK_CORE_DISABLE_PROMPTS: "1",
|
|
41
|
+
},
|
|
42
|
+
script: allowFailureInScripts(stopScripts),
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { dump } from "js-yaml";
|
|
2
|
+
import { omit } from "lodash";
|
|
3
|
+
|
|
4
|
+
import type { Context } from "../../../types/context";
|
|
5
|
+
|
|
6
|
+
import { GCLOUD_DEPLOY_CREDENTIALS_KEY } from "../../..";
|
|
7
|
+
|
|
8
|
+
export function getDeployJobVariables(context: Context) {
|
|
9
|
+
const allEnvVars = omit(
|
|
10
|
+
context.environment.envVars,
|
|
11
|
+
GCLOUD_DEPLOY_CREDENTIALS_KEY
|
|
12
|
+
);
|
|
13
|
+
return {
|
|
14
|
+
CLOUDSDK_CORE_DISABLE_PROMPTS: "1",
|
|
15
|
+
ENV_VARS: dump(allEnvVars, {
|
|
16
|
+
lineWidth: -1,
|
|
17
|
+
quotingType: "'",
|
|
18
|
+
forceQuotes: true,
|
|
19
|
+
}),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -3,7 +3,7 @@ import { getSecretVarName } from "../../context";
|
|
|
3
3
|
import type { EnvironmentContext } from "../../types/environmentContext";
|
|
4
4
|
import { sanitizeForBashVariable } from "../../utils/gitlab";
|
|
5
5
|
import { getFullDbName } from "../cloudSql/utils";
|
|
6
|
-
import { createGoogleCloudRunDeployJobs } from "./
|
|
6
|
+
import { createGoogleCloudRunDeployJobs } from "./createJobs";
|
|
7
7
|
import { getCloudRunJobName } from "./utils/jobName";
|
|
8
8
|
|
|
9
9
|
export const GCLOUD_DEPLOY_CREDENTIALS_KEY = "GCLOUD_DEPLOY_credentialsKey";
|
|
@@ -117,6 +117,16 @@ export type DeployConfigCloudRunService = {
|
|
|
117
117
|
* memory limit. Defaults to 512MB
|
|
118
118
|
*/
|
|
119
119
|
memory?: Memory;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
*
|
|
123
|
+
* set the execution environment.
|
|
124
|
+
*
|
|
125
|
+
* see https://cloud.google.com/run/docs/about-execution-environments
|
|
126
|
+
*
|
|
127
|
+
* defaults to gen1 according to gcloud
|
|
128
|
+
*/
|
|
129
|
+
executionEnvironment?: "gen2" | "gen1";
|
|
120
130
|
};
|
|
121
131
|
|
|
122
132
|
export type DeployConfigCloudRunJobBase = {
|
|
@@ -187,7 +197,7 @@ export type DeployConfigCloudRun = {
|
|
|
187
197
|
service?: boolean | DeployConfigCloudRunService;
|
|
188
198
|
|
|
189
199
|
/**
|
|
190
|
-
* deploy additional services with different entry points.
|
|
200
|
+
* deploy additional services with different entry points.
|
|
191
201
|
*/
|
|
192
202
|
additionalServices?: {
|
|
193
203
|
[name: string]: DeployConfigCloudRunService;
|
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var __assign = this && this.__assign || function () {
|
|
4
|
-
__assign = Object.assign || function (t) {
|
|
5
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
-
s = arguments[i];
|
|
7
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __read = this && this.__read || function (o, n) {
|
|
14
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
-
if (!m) return o;
|
|
16
|
-
var i = m.call(o),
|
|
17
|
-
r,
|
|
18
|
-
ar = [],
|
|
19
|
-
e;
|
|
20
|
-
try {
|
|
21
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
22
|
-
} catch (error) {
|
|
23
|
-
e = {
|
|
24
|
-
error: error
|
|
25
|
-
};
|
|
26
|
-
} finally {
|
|
27
|
-
try {
|
|
28
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
29
|
-
} finally {
|
|
30
|
-
if (e) throw e.error;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return ar;
|
|
34
|
-
};
|
|
35
|
-
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
36
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
37
|
-
if (ar || !(i in from)) {
|
|
38
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
39
|
-
ar[i] = from[i];
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
43
|
-
};
|
|
44
|
-
exports.__esModule = true;
|
|
45
|
-
exports.createGoogleCloudRunDeployJobs = void 0;
|
|
46
|
-
var js_yaml_1 = require("js-yaml");
|
|
47
|
-
var lodash_1 = require("lodash");
|
|
48
|
-
var _1 = require(".");
|
|
49
|
-
var docker_1 = require("../../build/docker");
|
|
50
|
-
var getLabels_1 = require("../../context/getLabels");
|
|
51
|
-
var runner_1 = require("../../runner");
|
|
52
|
-
var gitlab_1 = require("../../utils/gitlab");
|
|
53
|
-
var base_1 = require("../base");
|
|
54
|
-
var sbom_1 = require("../sbom");
|
|
55
|
-
var types_1 = require("../types");
|
|
56
|
-
var createArgsString_1 = require("./utils/createArgsString");
|
|
57
|
-
var database_1 = require("./utils/database");
|
|
58
|
-
var gcloudServiceAccountLoginCommands_1 = require("./utils/gcloudServiceAccountLoginCommands");
|
|
59
|
-
var jobName_1 = require("./utils/jobName");
|
|
60
|
-
var artifactsRegistry_1 = require("./artifactsRegistry");
|
|
61
|
-
var getServiceName_1 = require("./utils/getServiceName");
|
|
62
|
-
var cleanup_1 = require("./cleanup");
|
|
63
|
-
var setGoogleProjectNumberScript = function (deployConfig) {
|
|
64
|
-
return ["export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe ".concat(deployConfig.projectId, " --format=\"value(projectNumber)\")"), "echo \"GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER\""];
|
|
65
|
-
};
|
|
66
|
-
var makeLabelString = function (obj) {
|
|
67
|
-
return Object.entries(obj).map(function (_a) {
|
|
68
|
-
var _b = __read(_a, 2),
|
|
69
|
-
key = _b[0],
|
|
70
|
-
value = _b[1];
|
|
71
|
-
return "".concat(key, "=").concat(value);
|
|
72
|
-
}).join(",");
|
|
73
|
-
};
|
|
74
|
-
var createGoogleCloudRunDeployJobs = function (context) {
|
|
75
|
-
var _a, _b, _c;
|
|
76
|
-
var deployConfig = context.componentConfig.deploy;
|
|
77
|
-
if (deployConfig === false) {
|
|
78
|
-
return [];
|
|
79
|
-
}
|
|
80
|
-
if (!(0, types_1.isOfDeployType)(deployConfig, "google-cloudrun")) {
|
|
81
|
-
// should not happen
|
|
82
|
-
throw new Error("deploy config is wrong");
|
|
83
|
-
}
|
|
84
|
-
var allEnvVars = (0, lodash_1.omit)(context.environment.envVars, _1.GCLOUD_DEPLOY_CREDENTIALS_KEY);
|
|
85
|
-
var commonArgs = {
|
|
86
|
-
project: deployConfig.projectId,
|
|
87
|
-
region: deployConfig.region
|
|
88
|
-
};
|
|
89
|
-
var commonDeployArgs = __assign(__assign({
|
|
90
|
-
image: (0, artifactsRegistry_1.getArtifactsRegistryImage)(context)
|
|
91
|
-
}, commonArgs), {
|
|
92
|
-
"set-cloudsql-instances": deployConfig.cloudSql ? deployConfig.cloudSql.instanceConnectionName : undefined
|
|
93
|
-
});
|
|
94
|
-
var serviceName = (0, getServiceName_1.getServiceName)(context);
|
|
95
|
-
var getFullJobName = function (name) {
|
|
96
|
-
return (0, jobName_1.getCloudRunJobName)(context.environment.fullName, name);
|
|
97
|
-
};
|
|
98
|
-
var jobsWithNames = Object.entries((_a = deployConfig.jobs) !== null && _a !== void 0 ? _a : {})
|
|
99
|
-
// filter out disabled jobs
|
|
100
|
-
.filter(function (entry) {
|
|
101
|
-
return Boolean(entry[1]);
|
|
102
|
-
}).map(function (_a) {
|
|
103
|
-
var _b = __read(_a, 2),
|
|
104
|
-
name = _b[0],
|
|
105
|
-
job = _b[1];
|
|
106
|
-
return {
|
|
107
|
-
jobName: getFullJobName(name),
|
|
108
|
-
job: job
|
|
109
|
-
};
|
|
110
|
-
});
|
|
111
|
-
var jobsWithSchedule = jobsWithNames.filter(function (entry) {
|
|
112
|
-
return entry.job.when === "schedule";
|
|
113
|
-
}).map(function (_a) {
|
|
114
|
-
var job = _a.job,
|
|
115
|
-
jobName = _a.jobName;
|
|
116
|
-
return {
|
|
117
|
-
job: job,
|
|
118
|
-
jobName: jobName,
|
|
119
|
-
schedulerName: jobName + "-scheduler"
|
|
120
|
-
};
|
|
121
|
-
});
|
|
122
|
-
var getServiceDeployScript = function (service, nameSuffix) {
|
|
123
|
-
var _a, _b, _c, _d, _e;
|
|
124
|
-
var customConfig = service !== true ? service : undefined;
|
|
125
|
-
var command = service !== true ? (_a = service === null || service === void 0 ? void 0 : service.command) !== null && _a !== void 0 ? _a : context.componentConfig.build.startCommand : undefined;
|
|
126
|
-
var commandArray = command ? Array.isArray(command) ? command : command.split(" ") : undefined;
|
|
127
|
-
var fullServiceName = "".concat(serviceName).concat(nameSuffix !== null && nameSuffix !== void 0 ? nameSuffix : "");
|
|
128
|
-
var argsString = (0, createArgsString_1.createArgsString)(__assign(__assign({
|
|
129
|
-
// command as empty string resets it to default (uses the image's entrypoint)
|
|
130
|
-
command: commandArray ? '"' + commandArray.join(",") + '"' : '""'
|
|
131
|
-
}, commonDeployArgs), {
|
|
132
|
-
labels: makeLabelString(__assign(__assign({}, (0, getLabels_1.getLabels)(context)), {
|
|
133
|
-
"cloud-run-service-name": fullServiceName
|
|
134
|
-
})),
|
|
135
|
-
"env-vars-file": "____envvars.yaml",
|
|
136
|
-
"min-instances": (_b = customConfig === null || customConfig === void 0 ? void 0 : customConfig.minInstances) !== null && _b !== void 0 ? _b : 0,
|
|
137
|
-
"max-instances": (_c = customConfig === null || customConfig === void 0 ? void 0 : customConfig.maxInstances) !== null && _c !== void 0 ? _c : 100,
|
|
138
|
-
"cpu-throttling": (customConfig === null || customConfig === void 0 ? void 0 : customConfig.noCpuThrottling) !== true,
|
|
139
|
-
memory: customConfig === null || customConfig === void 0 ? void 0 : customConfig.memory,
|
|
140
|
-
"allow-unauthenticated": (_d = customConfig === null || customConfig === void 0 ? void 0 : customConfig.allowUnauthenticated) !== null && _d !== void 0 ? _d : true,
|
|
141
|
-
ingress: (_e = customConfig === null || customConfig === void 0 ? void 0 : customConfig.ingress) !== null && _e !== void 0 ? _e : "all",
|
|
142
|
-
"cpu-boost": true
|
|
143
|
-
}));
|
|
144
|
-
return "gcloud run deploy ".concat(fullServiceName, " ").concat(argsString);
|
|
145
|
-
};
|
|
146
|
-
var getJobCreateScriptsForJob = function (jobName, job) {
|
|
147
|
-
// due to some oversight from google, jobs create does not accept `--env-vars-file` 🤦
|
|
148
|
-
// lucky, update on the other hand accepts it... so let's just imediatly update it
|
|
149
|
-
// also we cannot upsert a job, so we have to create it and catch the error and then update
|
|
150
|
-
var commandArray = Array.isArray(job.command) ? job.command : job.command.split(" ");
|
|
151
|
-
var commonDeployArgsString = (0, createArgsString_1.createArgsString)(__assign(__assign({
|
|
152
|
-
command: '"' + commandArray.join(",") + '"'
|
|
153
|
-
}, commonDeployArgs), {
|
|
154
|
-
labels: makeLabelString(__assign(__assign({}, (0, getLabels_1.getLabels)(context)), {
|
|
155
|
-
"cloud-run-job-name": jobName
|
|
156
|
-
})),
|
|
157
|
-
image: job.image || commonDeployArgs.image,
|
|
158
|
-
memory: job.memory || "512Mi",
|
|
159
|
-
"task-timeout": job.timeout || "10m"
|
|
160
|
-
}));
|
|
161
|
-
var argsString = "".concat(jobName, " ").concat(commonDeployArgsString);
|
|
162
|
-
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud beta run jobs create ".concat(argsString)])), false), ["gcloud beta run jobs update ".concat(argsString, " --env-vars-file=____envvars.yaml")], false);
|
|
163
|
-
};
|
|
164
|
-
var commonArgsString = (0, createArgsString_1.createArgsString)(commonArgs);
|
|
165
|
-
var getJobCreateScripts = function () {
|
|
166
|
-
return jobsWithNames.map(function (_a) {
|
|
167
|
-
var job = _a.job,
|
|
168
|
-
jobName = _a.jobName;
|
|
169
|
-
return getJobCreateScriptsForJob(jobName, job);
|
|
170
|
-
}).flat();
|
|
171
|
-
};
|
|
172
|
-
var getJobRunScriptForJob = function (jobName, wait) {
|
|
173
|
-
return "gcloud beta run jobs execute ".concat(jobName, " ").concat(commonArgsString).concat(wait ? " --wait" : "");
|
|
174
|
-
};
|
|
175
|
-
var getJobRunScripts = function (when) {
|
|
176
|
-
return jobsWithNames.filter(function (_a) {
|
|
177
|
-
var job = _a.job;
|
|
178
|
-
return job.when === when;
|
|
179
|
-
}).map(function (_a) {
|
|
180
|
-
var jobName = _a.jobName;
|
|
181
|
-
return getJobRunScriptForJob(jobName,
|
|
182
|
-
// wait for completin on stop jobs, since stop will delete the jobs afterwards, so they will fail
|
|
183
|
-
["preStop", "postStop"].includes(when));
|
|
184
|
-
});
|
|
185
|
-
};
|
|
186
|
-
var getCreateScheduleScripts = function () {
|
|
187
|
-
return jobsWithSchedule.map(function (_a) {
|
|
188
|
-
var _b;
|
|
189
|
-
var job = _a.job,
|
|
190
|
-
jobName = _a.jobName,
|
|
191
|
-
schedulerName = _a.schedulerName;
|
|
192
|
-
var argsString = (0, createArgsString_1.createArgsString)({
|
|
193
|
-
project: deployConfig.projectId,
|
|
194
|
-
location: deployConfig.region,
|
|
195
|
-
schedule: "\"".concat(job.schedule, "\""),
|
|
196
|
-
"max-retry-attempts": (_b = job.maxRetryAttempts) !== null && _b !== void 0 ? _b : 0,
|
|
197
|
-
uri: "\"https://".concat(deployConfig.region, "-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/").concat(deployConfig.projectId, "/jobs/").concat(jobName, ":run\""),
|
|
198
|
-
"http-method": "POST",
|
|
199
|
-
"oauth-service-account-email": "$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"
|
|
200
|
-
});
|
|
201
|
-
var commonArgs = "http ".concat(schedulerName, " ").concat(argsString);
|
|
202
|
-
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud scheduler jobs create ".concat(commonArgs)])), false), ["gcloud scheduler jobs update ".concat(commonArgs)], false);
|
|
203
|
-
}).flat();
|
|
204
|
-
};
|
|
205
|
-
var getDeleteSchedulesScripts = function () {
|
|
206
|
-
var argsString = (0, createArgsString_1.createArgsString)({
|
|
207
|
-
project: deployConfig.projectId,
|
|
208
|
-
location: deployConfig.region
|
|
209
|
-
});
|
|
210
|
-
return jobsWithSchedule.map(function (_a) {
|
|
211
|
-
var schedulerName = _a.schedulerName;
|
|
212
|
-
return ["gcloud scheduler jobs delete ".concat(schedulerName, " ").concat(argsString)];
|
|
213
|
-
}).flat();
|
|
214
|
-
};
|
|
215
|
-
var getDeleteJobsScripts = function () {
|
|
216
|
-
return jobsWithNames.flatMap(function (_a) {
|
|
217
|
-
var jobName = _a.jobName;
|
|
218
|
-
return [
|
|
219
|
-
// first delete all job executions. Otherwise delete might fail if one of those is still running
|
|
220
|
-
"gcloud beta run jobs executions list ".concat(commonArgsString, " --job ").concat(jobName, " --format=\"value(name)\" | xargs -I {} gcloud beta run jobs executions delete {} --quiet ").concat(commonArgsString), "gcloud beta run jobs delete ".concat(jobName, " ").concat(commonArgsString)];
|
|
221
|
-
});
|
|
222
|
-
};
|
|
223
|
-
var deployScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, gitlab_1.collapseableSection)("prepare", "Prepare...")(__spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), __read(setGoogleProjectNumberScript(deployConfig)), false))), false), __read((0, gitlab_1.collapseableSection)("deploy", "Deploy to cloud run")(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(["echo \"$ENV_VARS\" > ____envvars.yaml"], __read(deployConfig.cloudSql ? (0, database_1.getDatabaseCreateScript)(context, deployConfig) // we create the db, so that we can also delete it afterwards
|
|
224
|
-
: []), false), __read(getCreateScheduleScripts()), false), __read(getJobCreateScripts()), false), __read(getJobRunScripts("preDeploy")), false), __read(deployConfig.service !== false ? [getServiceDeployScript(deployConfig.service)] : []), false), __read(Object.entries((_b = deployConfig.additionalServices) !== null && _b !== void 0 ? _b : {}).map(function (_a) {
|
|
225
|
-
var _b = __read(_a, 2),
|
|
226
|
-
name = _b[0],
|
|
227
|
-
service = _b[1];
|
|
228
|
-
return getServiceDeployScript(service, "-" + name);
|
|
229
|
-
})), false), __read(getJobRunScripts("postDeploy")), false))), false), __read((0, gitlab_1.collapseableSection)("cleanup", "Cleanup")((0, cleanup_1.getRemoveOldRevisionsAndImagesCommand)(context, "postDeploy") // we cleanup inactive images both on deploy and stop
|
|
230
|
-
)), false), __read((0, sbom_1.getDependencyTrackUploadScript)(context)), false);
|
|
231
|
-
var stopScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), __read(getJobRunScripts("preStop")), false), __read(deployConfig.service !== false ? ["gcloud run services delete ".concat(serviceName, " ").concat(commonArgsString)] : []), false), __read(Object.entries((_c = deployConfig.additionalServices) !== null && _c !== void 0 ? _c : {}).map(function (_a) {
|
|
232
|
-
var _b = __read(_a, 1),
|
|
233
|
-
name = _b[0];
|
|
234
|
-
return "gcloud run services delete ".concat(serviceName, "-").concat(name, " ").concat(commonArgsString);
|
|
235
|
-
})), false), __read(getJobRunScripts("postStop")), false), __read(getDeleteSchedulesScripts()), false), __read(getDeleteJobsScripts()), false), __read(deployConfig.cloudSql && deployConfig.cloudSql.deleteDatabaseOnStop ? (0, database_1.getDatabaseDeleteScript)(context, deployConfig) : []), false), __read((0, cleanup_1.getRemoveOldRevisionsAndImagesCommand)(context, "onStop")), false), __read((0, sbom_1.getDependencyTrackDeleteScript)(context)), false);
|
|
236
|
-
return (0, base_1.createDeployementJobs)(context, {
|
|
237
|
-
deploy: (0, lodash_1.merge)((0, docker_1.getDockerJobBaseProps)(context), {
|
|
238
|
-
artifacts: {
|
|
239
|
-
paths: ["____envvars.yaml"]
|
|
240
|
-
},
|
|
241
|
-
variables: {
|
|
242
|
-
CLOUDSDK_CORE_DISABLE_PROMPTS: "1",
|
|
243
|
-
ENV_VARS: (0, js_yaml_1.dump)(allEnvVars, {
|
|
244
|
-
lineWidth: -1,
|
|
245
|
-
quotingType: "'",
|
|
246
|
-
forceQuotes: true
|
|
247
|
-
})
|
|
248
|
-
},
|
|
249
|
-
image: (0, runner_1.getRunnerImage)("gcloud"),
|
|
250
|
-
script: deployScripts
|
|
251
|
-
}),
|
|
252
|
-
stop: {
|
|
253
|
-
image: (0, runner_1.getRunnerImage)("gcloud"),
|
|
254
|
-
variables: {
|
|
255
|
-
CLOUDSDK_CORE_DISABLE_PROMPTS: "1"
|
|
256
|
-
},
|
|
257
|
-
script: (0, gitlab_1.allowFailureInScripts)(stopScripts)
|
|
258
|
-
}
|
|
259
|
-
});
|
|
260
|
-
};
|
|
261
|
-
exports.createGoogleCloudRunDeployJobs = createGoogleCloudRunDeployJobs;
|