Я хочу, чтобы Vagrant запускал сервер Play в папке / vagrant / каждый раз, когда я запускаю vagrant. Помещение @reboot в crontab не работает, потому что скрипт запускается до подключения папки / vagrant /.
Я хочу, чтобы Vagrant запускал сервер Play в папке / vagrant / каждый раз, когда я запускаю vagrant. Помещение @reboot в crontab не работает, потому что скрипт запускается до подключения папки / vagrant /.
Ответы:
Вместо использования crontab, вы пытались использовать Upstart ?
Vagrant генерирует событие «vagrant-mount», когда общая папка монтируется, так что вы можете создать файл upstart conf, скажем /etc/init/play.conf
, для запуска при отправке этого события:
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
работать так же?
start on vagrant-mounted
не работает по какой-то причине. Не знаю почему и вообще не знаю, как его отладить.
Я обнаружил, что использовать отдельного бродячего поставщика с опцией run : "always"
намного проще, например:
config.vm.provision :shell, path: "yourStartUp.sh", run: "always", privileged: false
См. Https://docs.vagrantup.com/v2/provisioning/shell.html для полной документации.
"always"
. Возможно это было удалено в более новой версии.
/bin/sh: 1: [: =: unexpected operator
, поэтому я просто раскомментировал эту строку.