Ejecuto varias aplicaciones de Heroku de la misma carpeta y, a menudo, tengo que dirigirme a una específica para un comando que estoy escribiendo, a través de una de las dos variables de entorno
las opciones disponibles para mí son:
heroku command --app MYAPPID
heroku command -r MYAPPSGITREMOTEID
HEROKU_APP=MYAPPID heroku command
Actualmente uso -r pero es difícil construir alias con él, especialmente si quiero canalizar la salida del comando heroku a un comando diferente ... No puedo llamar myalias -r myappid
si el alias es heroku command | tail
Yo preferiría algo así como
@production heroku command
eso evaluaría HEROKU_APP=MYPRODUCTIONID heroku command
puntos de bonificación si funciona con encadenamiento de alias, como @production myalias
que expandiría tanto el alias de envvar de la aplicación de destino como el comando que se ejecutará alias
¿algunas ideas?
Respuestas
2 para la respuesta № 1Aquí es donde las funciones de shell son la solución perfecta:
myheroku () {
local heroku_app=$1
shift
env HEROKU_APP="$heroku_app" heroku "$@"
}
myalias1 () {
myheroku "$1" specific command here
}
myalias2 () {
myheroku "$1" some other command
}
# ...
Entonces
myalias1 @production
Eventualmente invocará
env HEROKU_APP="@production" heroku specific command here