Chcę, aby Vagrant uruchamiał serwer Play w folderze / vagrant / za każdym razem, gdy robię włóczęgę. Umieszczenie @reboot na crontabie nie działa, ponieważ skrypt jest uruchamiany przed podłączeniem folderu / vagrant /.
Chcę, aby Vagrant uruchamiał serwer Play w folderze / vagrant / za każdym razem, gdy robię włóczęgę. Umieszczenie @reboot na crontabie nie działa, ponieważ skrypt jest uruchamiany przed podłączeniem folderu / vagrant /.
Odpowiedzi:
Czy zamiast crontab próbowałeś użyć Upstart ?
Vagrant emituje zdarzenie „zamontowane przez włóczęgę”, gdy folder współdzielony jest podłączony, aby można było utworzyć plik conf na starcie, powiedzmy /etc/init/play.conf
, uruchamiany podczas emitowania tego zdarzenia:
description "Play server"
start on vagrant-mounted
pre-start script
[ "$MOUNTPOINT" == "/vagrant" ] || stop
end script
... rest of config file for starting Play server ...
start on vagrant-mounted MOUNTPOINT=/vagrant
działać?
start on vagrant-mounted
z jakiegoś powodu nie działa. Nie wiem dlaczego i wcale nie wiem, jak go debugować.
Zauważyłem, że używanie oddzielnego włóczęgi z opcją run : "always"
jest o wiele łatwiejsze, np .:
config.vm.provision :shell, path: "yourStartUp.sh", run: "always", privileged: false
Zobacz https://docs.vagrantup.com/v2/provisioning/shell.html dla pełnego dokumentu.
"always"
. Być może zostało to usunięte w nowszej wersji.
/bin/sh: 1: [: =: unexpected operator
, więc po prostu odkomentowałem ten wiersz.