const { execSync } = require("child_process"); const isNotValidString = str => !(typeof str === "string" && str.length > 1); let APP_NAME = process.env.PLUGIN_APP_NAME; const CAP_PASSWORD = process.env.PLUGIN_PASSWORD; const CAP_HOST = process.env.PLUGIN_HOST; const INCLUDE_FILES = process.env.PLUGIN_TAR_INCLUDE ? process.env.PLUGIN_TAR_INCLUDE.split(",").join(" ") : "."; const SUFFIXES = process.env.PLUGIN_SUFFIXES ? JSON.parse(process.env.PLUGIN_SUFFIXES) : ""; const DRONE_BRANCH = process.env.DRONE_BRANCH; if ( isNotValidString(APP_NAME) || isNotValidString(CAP_PASSWORD || isNotValidString(CAP_HOST)) ) { console.error("Invalid usage. Please check documentation"); process.exit(1); } if (SUFFIXES !== "") { APP_NAME = APP_NAME + SUFFIXES[DRONE_BRANCH]; } execSync(`tar -cf app.tar ${INCLUDE_FILES}`); execSync( `caprover deploy --caproverUrl ${CAP_HOST} --capPassword ${CAP_PASSWORD} --caproverApp ${APP_NAME} --tarFile app.tar`, );