- Hook Path
runway.cfngin.hooks.command.run_command
Run a shell custom command as a hook.
command
Command(s) to run.
capture
If enabled, capture the command's stdout and stderr, and return them in the hook result.
interactive
If enabled, allow the command to interact with stdin. Otherwise, stdin will be set to the null device.
ignore_status
Don't fail the hook if the command returns a non-zero status.
quiet
Redirect the command's stdout and stderr to the null device, silencing all output. Should not be enabled if capture
is also enabled.
stdin
String to send to the stdin of the command. Implicitly disables interactive
.
env
Dictionary of environment variable overrides for the command context. Will be merged with the current environment.
**kwargs
Any other arguments will be forwarded to the subprocess.Popen
function. Interesting ones include: cwd
and shell
.
pre_deploy:
- path: runway.cfngin.hooks.command.run_command
required: true
enabled: true
data_key: copy_env
args:
command: ['cp', 'environment.template', 'environment']
- path: runway.cfngin.hooks.command.run_command
required: true
enabled: true
data_key: get_git_commit
args:
command: ['git', 'rev-parse', 'HEAD']
cwd: ./my-git-repo
capture: true
- path: runway.cfngin.hooks.command.run_command
args:
command: '`cd $PROJECT_DIR/project; npm install`'
env:
PROJECT_DIR: ./my-project
shell: true