Quiero que Vagrant inicie el servidor de Play en la carpeta / vagrant / cada vez que lo haga. Poner @reboot en el crontab no funciona porque el script se ejecuta antes de que la carpeta / vagrant / esté conectada.
29
En lugar de usar crontab, ¿has intentado usar Upstart ?
Vagrant emite un evento "montado en vagabundo" cuando se monta la carpeta compartida, por lo que podría crear un archivo conf de inicio, por ejemplo /etc/init/play.conf
, para ejecutarse cuando se emite ese evento:
description "Play server"
start on vagrant-mounted
pre-start script
[ "$MOUNTPOINT" == "/vagrant" ] || stop
end script
... rest of config file for starting Play server ...
/bin/sh: 1: [: =: unexpected operator
, así que simplemente descomenté esa línea.start on vagrant-mounted MOUNTPOINT=/vagrant
funcionar tan bien?start on vagrant-mounted
no funciona por alguna razón. No sé por qué y no sé cómo depurarlo.Encontré el uso de un aprovisionador vagabundo separado con la opción
run : "always"
mucho más fácil, por ejemplo:config.vm.provision :shell, path: "yourStartUp.sh", run: "always", privileged: false
Consulte https://docs.vagrantup.com/v2/provisioning/shell.html para ver el documento completo.
fuente
"always"
. Tal vez esto se eliminó en una versión más nueva.