You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

35 lines
962 B

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`,
);