servidor que funciona elastic como cli aws configuration amazon-web-services provisioning elastic-beanstalk

configuration - funciona - ¿Dónde colocar los comandos de configuración de Elastic Beanstalk que solo se ejecutan una vez en la rotación?



install eb cli ubuntu (2)

Sé que puedo poner comandos en mi código fuente en .ebextensions / *. Config usando la matriz de commands . Estos se ejecutan en cada despliegue sin embargo. ¿Qué sucede si deseo ejecutar un comando de configuración solo una vez al girar una nueva instancia?


En Windows esto debería funcionar:

commands: 01-do-always: command: run_my_script 02-do-on-boot: command: script_to_run_once test: cmd /c "if exist c://semaphore.txt (exit 1) else (exit 0)" 99-signal-startup-complete: command: echo %date% %time% > c://semaphore.txt

Tenga en cuenta que tuve que cambiar el comando de test de la respuesta de Jim Flanagan.


Los comandos se pueden ejecutar condicionalmente usando la test: modificador. Usted especifica una prueba a realizar. Si la prueba devuelve 0, el comando se ejecuta, de lo contrario no lo es.

Si el último comando en su archivo de configuración toca un archivo, y los comandos anteriores que solo desea ejecutar una vez que verifique la existencia de ese archivo, esos comandos solo se ejecutarán la primera vez.

commands: 01-do-always: command: run_my_script 02-do-on-boot: command: script_to_run_once test: test ! -f .semaphore 99-signal-startup-complete: command: touch .semaphore

En Windows sería algo así.

commands: 01-do-always: command: run_my_script 02-do-on-boot: command: script_to_run_once test: if exists c://path//to//semaphore.txt (exit 0) else (exit 1) 99-signal-startup-complete: command: date > c://path//to//semaphore.txt