Comandos ebextensions específicos del entorno

Tengo una aplicación de arranque por resorte para la que necesito especificar el servidor de grafito y el puerto (para enviar métricas). Para que eso funcione, tengo que instalar y configurarstatsd. Lo hago usando elebextensions archivo.

commands:
  01_nodejs_install:
    command: sudo yum -y install nodejs npm --enablerepo=epel
    ignoreErrors: true

  02_mkdir_statsd:
    command: mkdir /home/ec2-user/statsd
    ignoreErrors: true

  03_fetch_statsd:
    command: git clone https://github.com/etsy/statsd.git /home/ec2-user/statsd
    ignoreErrors: true

  04_change_example_config:
    command: "cat exampleConfig.js | sed 's/2003/<graphite-port>/g' | sed 's/graphite.example.com/<my-graphite-server>/g' > config.js"
    cwd: /home/ec2-user/statsd

  05_run_statsd:
    command: setsid node stats.js config.js >/dev/null 2>&1 < /dev/null &
    cwd: /home/ec2-user/statsd

El problema con esta configuración es que aquí solo puedo especificar 1 servidor de grafito para todos los entornos.

Así que decidí mover los comandos 04 y 05 acontainer_commands. Estoy pensando en definir una variable de entorno llamadaENV_NAME usando la consola / interfaz de usuario de beanstalky configúrelo endev, qaoprod Según el entorno. Entonces puedo usartest opción decontainer_commands ejecutar comandos 04 y 05 solo para entornos específicos basados en estoENV_NAME.

Entonces, mi problema es: ¿cómo puedo usar la consola de AWS para definir la variable de entorno? Intenté usar la consola de Benastalk para definir mi variable como se explica en la documentaciónaquí Pero no funcionó. Yo tambiénencontró (vea la respuesta con 5 votos a favor) de que este método establece solo propiedades JVM y no variables ENV.

No puedo definir la variable de entorno usandoebextensions porque entonces tendré el mismo problema: no puedo definir diferentes entornos para diferentes entornos :)

Entonces necesito ayuda con:

Selecciona elENV_NAME variable de entorno utilizando beanstalk UI.

O

Sugerir una forma de usarENV_NAME propiedad del sistema encontainer_commands para condicionar si ejecutar o no el comando en función del valor deENV_NAME.

Y en caso de que conozca una forma más simple / mejor de especificar diferentes servidores Graphite para diferentes entornos, no dude en participar.

Respuestas a la pregunta(3)

Su respuesta a la pregunta