@catladder/cli
Version:
Panter cli tool for cloud CI/CD and DevOps
48 lines • 2.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCloudRunDeployScripts = void 0;
const lodash_1 = require("lodash");
const gitlab_1 = require("../../../utils/gitlab");
const sbom_1 = require("../../sbom");
const __1 = require("..");
const bashYaml_1 = require("../../../bash/bashYaml");
const cleanup_1 = require("../cleanup");
const database_1 = require("../utils/database");
const gcloudServiceAccountLoginCommands_1 = require("../utils/gcloudServiceAccountLoginCommands");
const cloudRunJobs_1 = require("./cloudRunJobs");
const onDeploy_1 = require("./execute/onDeploy");
const cloudRunServices_1 = require("./cloudRunServices");
const common_1 = require("./common");
const constants_1 = require("./constants");
const schedules_1 = require("./execute/schedules");
function getCloudRunDeployScripts(context) {
var _a;
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
const allEnvVars = (0, lodash_1.omit)(context.environment.envVars, __1.GCLOUD_DEPLOY_CREDENTIALS_KEY);
return [
...(0, gitlab_1.collapseableSection)("prepare", "Prepare...")([
...(0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context),
...(0, common_1.setGoogleProjectNumberScript)(deployConfig),
]),
...(0, gitlab_1.collapseableSection)("writeenvvars", "Write env vars to file")((0, bashYaml_1.writeBashYamlToFileScript)(allEnvVars, constants_1.ENV_VARS_FILENAME)),
...(0, gitlab_1.collapseableSection)("deploy", "Deploy to cloud run")([
...(deployConfig.cloudSql
? (0, database_1.getDatabaseCreateScript)(context, deployConfig) // we create the db, so that we can also delete it afterwards
: []),
...(0, schedules_1.getCreateScheduleScript)(context),
...(0, cloudRunJobs_1.getJobCreateScripts)(context),
...(0, onDeploy_1.getOnDeployExecuteScript)(context, "preDeploy"),
...(deployConfig.service !== false
? [(0, cloudRunServices_1.getServiceDeployScript)(context, deployConfig.service)]
: []),
...Object.entries((_a = deployConfig.additionalServices) !== null && _a !== void 0 ? _a : {})
.filter(([_, service]) => service !== false && service !== null)
.map(([name, service]) => (0, cloudRunServices_1.getServiceDeployScript)(context, service, "-" + name)),
...(0, onDeploy_1.getOnDeployExecuteScript)(context, "postDeploy"),
]),
...(0, gitlab_1.collapseableSection)("cleanup", "Cleanup")((0, cleanup_1.getRemoveOldRevisionsAndImagesCommand)(context, "postDeploy")),
...(0, sbom_1.getDependencyTrackUploadScript)(context),
];
}
exports.getCloudRunDeployScripts = getCloudRunDeployScripts;
//# sourceMappingURL=getCloudRunDeployScripts.js.map