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