mirror of
https://github.com/easingthemes/ssh-deploy.git
synced 2025-06-22 12:32:09 +10:00
Add option to execute script before and after rsync
This commit is contained in:
parent
0e7d8019db
commit
5dfe8ebb5a
14 changed files with 278 additions and 213 deletions
|
@ -1,11 +1,47 @@
|
|||
const inputNames = ['REMOTE_HOST', 'REMOTE_USER', 'REMOTE_PORT', 'SSH_PRIVATE_KEY', 'DEPLOY_KEY_NAME', 'SOURCE', 'TARGET', 'ARGS', 'EXCLUDE'];
|
||||
const { snakeToCamel } = require('./helpers');
|
||||
|
||||
const inputNames = [
|
||||
'REMOTE_HOST', 'REMOTE_USER', 'REMOTE_PORT',
|
||||
'SSH_PRIVATE_KEY', 'DEPLOY_KEY_NAME',
|
||||
'SOURCE', 'TARGET', 'ARGS', 'EXCLUDE',
|
||||
'SCRIPT_BEFORE', 'SCRIPT_AFTER'];
|
||||
|
||||
const githubWorkspace = process.env.GITHUB_WORKSPACE;
|
||||
const remoteUser = process.env.REMOTE_USER;
|
||||
|
||||
const defaultInputs = {
|
||||
source: '', // TODO
|
||||
target: `/home/${remoteUser}/`,
|
||||
exclude: '', // TODO
|
||||
args: '-rltgoDzvO', // TODO
|
||||
deployKeyName: 'deploy_key'
|
||||
};
|
||||
|
||||
const inputs = {
|
||||
GITHUB_WORKSPACE: process.env.GITHUB_WORKSPACE
|
||||
githubWorkspace
|
||||
};
|
||||
|
||||
inputNames.forEach((input) => {
|
||||
inputs[input] = process.env[input] || process.env[`INPUT_${input}`];
|
||||
const inputName = snakeToCamel(input.toLowerCase());
|
||||
const inputVal = process.env[input] || process.env[`INPUT_${input}`];
|
||||
const validVal = inputVal === undefined ? defaultInputs[inputName] : inputVal;
|
||||
let extendedVal = validVal;
|
||||
// eslint-disable-next-line default-case
|
||||
switch (inputName) {
|
||||
case 'source':
|
||||
extendedVal = `${githubWorkspace}/${validVal}`;
|
||||
break;
|
||||
case 'exclude':
|
||||
extendedVal = validVal.split(',').map((item) => item.trim());
|
||||
break;
|
||||
case 'args':
|
||||
extendedVal = [validVal];
|
||||
break;
|
||||
}
|
||||
|
||||
inputs[inputName] = extendedVal;
|
||||
});
|
||||
|
||||
inputs.sshServer = `${inputs.remoteUser}@${inputs.remoteHost}:${inputs.target}`;
|
||||
|
||||
module.exports = inputs;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue