Quero que o Vagrant inicie o servidor Play na pasta / vagrant / toda vez que eu fizer isso. Colocar o @reboot no crontab não funciona porque o script é executado antes da conexão da pasta / vagrant /.
Quero que o Vagrant inicie o servidor Play na pasta / vagrant / toda vez que eu fizer isso. Colocar o @reboot no crontab não funciona porque o script é executado antes da conexão da pasta / vagrant /.
Respostas:
Em vez de usar o crontab, você tentou usar o Upstart ?
O Vagrant emite um evento "vagrant-mounted" quando a pasta compartilhada é montada, para que você possa criar um arquivo conf inicial, por exemplo /etc/init/play.conf
, para ser executado quando esse evento for emitido:
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
Também pode funcionar?
start on vagrant-mounted
não funciona por algum motivo. Não sei por que e nem sei como depurá-lo.
Eu achei o uso de um provisionador vagabundo separado com a opção run : "always"
muito mais fácil, por exemplo:
config.vm.provision :shell, path: "yourStartUp.sh", run: "always", privileged: false
Consulte https://docs.vagrantup.com/v2/provisioning/shell.html para obter o documento completo.
"always"
. Talvez isso tenha sido removido em uma versão mais recente.
/bin/sh: 1: [: =: unexpected operator
, então apenas descomentei essa linha.