Як я можу змусити Vagrant запустити сервер при запуску?


29

Я хочу, щоб Vagrant запускав сервер Play у папці / vagrant / кожного разу, коли я робив бродягу. Поставлення @reboot на crontab не працює, оскільки сценарій працює до підключення папки / vagrant /.

Відповіді:


16

Замість використання crontab ви намагалися використовувати Upstart ?

Коли змонтована спільна папка, Vagrant посилає подію "на бродячих", щоб ви могли створити файл /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 ...

Спасибі! Не впевнений, чому я отримав помилку /bin/sh: 1: [: =: unexpected operator, тому я просто прокоментував цей рядок.
неправильнекористування

На жаль! Я відредагував пост, щоб синтаксис був правильним.
billyw

Може також start on vagrant-mounted MOUNTPOINT=/vagrantпрацювати?
km6zla

На мій випадок сценарій start on vagrant-mountedчомусь не працює. Не знаю, чому і не знаю, як це налагодити взагалі.
maectpo

44

Мені було run : "always"набагато простіше використовувати окремий бродячий захисник із можливістю вибору , наприклад:

config.vm.provision :shell, path: "yourStartUp.sh", run: "always", privileged: false

Дивіться https://docs.vagrantup.com/v2/provisioning/shell.html для повного документа.


3
Надане посилання нічого не говорить про це "always". Можливо, це було видалено в новій версії.
Рафаель Ейн

6
@RafaelEyng документи для цього знаходяться на веб- сайті vagrantup.com/docs/provisioning/basic_usage.html , шукайте " ДАЙТЕ ВЖЕ АБО ЗАВЖДИ"
Daniel Compton

Перевірено у 2017 році. Працює як шарм. Це найкраща відповідь і все ще актуальна.
iaforek
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.