@catladder/cli
Version:
Panter cli tool for cloud CI/CD and DevOps
28 lines (27 loc) • 2.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getCloudRunDeployScripts = void 0;
const lodash_es_1 = require("lodash-es");
const gitlab_1 = require("../../../utils/gitlab");
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 cloudRunWorkerPools_1 = require("./cloudRunWorkerPools");
const common_1 = require("./common");
const constants_1 = require("./constants");
const schedules_1 = require("./execute/schedules");
function getCloudRunDeployScripts(context) {
var _a, _b;
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
const allEnvVars = (0, lodash_es_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)), ...Object.entries((_b = deployConfig.workerPools) !== null && _b !== void 0 ? _b : {}).filter(([_, workerPool]) => workerPool !== false && workerPool !== null).map(([name, workerPool]) => (0, cloudRunWorkerPools_1.getWorkerPoolDeployScript)(context, workerPool, name)), ...(0, onDeploy_1.getOnDeployExecuteScript)(context, "postDeploy")]), ...(0, gitlab_1.collapseableSection)("cleanup", "Cleanup")((0, cleanup_1.getRemoveOldRevisionsAndImagesCommand)(context, "postDeploy"))];
}
exports.getCloudRunDeployScripts = getCloudRunDeployScripts;