command.run_command
- Hook Path
runway.cfngin.hooks.command.run_command
Run a shell custom command as a hook.
Args
- capture: Optional[bool] = False
If enabled, capture the command’s stdout and stderr, and return them in the hook result.
- interactive: Optional[bool] = False
If enabled, allow the command to interact with stdin. Otherwise, stdin will be set to the null device.
- ignore_status: Optional[bool] = False
Don’t fail the hook if the command returns a non-zero status.
- quiet: Optional[bool] = False
Redirect the command’s stdout and stderr to the null device, silencing all output. Should not be enabled if
capture
is also enabled.
- stdin: Optional[str] = None
String to send to the stdin of the command. Implicitly disables
interactive
.
- env: Optional[Dict[str, str]] = None
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
andshell
.
Example
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