diff --git a/src/exec.js b/src/exec.js index 33bef22..d635616 100644 --- a/src/exec.js +++ b/src/exec.js @@ -1,11 +1,21 @@ -const docker = require("./docker"); -const { parseVars } = require("./util"); +const docker = require('./docker'), + { parseVars, load } = require('./environment'); + +function exec (script, image, flags) { + let environmentVars = []; + if (flags.env) { + if (flags.env.includes('=')) { + environmentVars = parseVars(flags.env); + } + // try if env is file + else { + environmentVars = load(flags.env); + } + } -function exec(script, image, flags) { - const environmentVars = flags.env ? parseVars(flags.env) : []; const commands = [].concat( - environmentVars.map(x => `export ${x}`), - "set -e", + environmentVars.map((x) => { return x && (x.includes('export') ? x : `export ${x}`); }), + 'set -e', script ); docker.run(commands, image, flags.dryRun, flags.interactive, flags.workDir);