If you can have an alias like: ``` aliases: rails: app exec -p rails ``` Then `kamal rails db:migrate:status` will execute `kamal app exec -p rails db:migrate:status`. So this works, we'll allow multiple arguments `app exec` and `server exec` to accept multiple arguments. The arguments are combined by simply joining them with a space. This means that these are equivalent: ``` kamal app exec -p rails db:migrate:status kamal app exec -p "rails db:migrate:status" ``` If you want to pass an argument with spaces, you'll need to quote it: ``` kamal app exec -p "git commit -am \"My comment\"" kamal app exec -p git commit -am "\"My comment\"" ```
22 lines
372 B
YAML
22 lines
372 B
YAML
service: app
|
|
image: dhh/app
|
|
servers:
|
|
web:
|
|
- 1.1.1.1
|
|
- 1.1.1.2
|
|
workers:
|
|
hosts:
|
|
- 1.1.1.3
|
|
- 1.1.1.4
|
|
console:
|
|
hosts:
|
|
- 1.1.1.5
|
|
registry:
|
|
username: user
|
|
password: pw
|
|
aliases:
|
|
info: details
|
|
console: app exec --reuse -p -r console "bin/console"
|
|
exec: app exec --reuse -p -r console
|
|
rails: app exec --reuse -p -r console rails
|