Vagrant'ın sunucuyu başlangıçta başlatmasını nasıl sağlayabilirim?


29

Vagrant'ın her ne zaman serseri olduğumu / vagrant / klasöründeki Play sunucusunu başlatmasını istiyorum. Komut / vagrant / klasör bağlanmadan önce çalıştığı için cretab'ın @reboot komutunu kullanması işe yaramaz.

Yanıtlar:


16

Crontab kullanmak yerine, Upstart uygulamasını denediniz mi?

Vagrant, paylaşılan klasör takılıyken "vagrant-mount" olayı yayar, böylece /etc/init/play.confo etkinlik yayınlandığında çalıştırmak için bir start-up conf dosyası oluşturabilirsiniz :

description "Play server"
start on vagrant-mounted

pre-start script
    [ "$MOUNTPOINT" == "/vagrant" ] || stop
end script

... rest of config file for starting Play server ...

Teşekkürler! Neden hata aldığımdan emin değilim /bin/sh: 1: [: =: unexpected operator, bu yüzden sadece bu satırı yorumladım.
yanlış kullanıcı adı

Hata! Gönderiyi, sözdiziminin doğru olması için düzenledim.
billyw

De start on vagrant-mounted MOUNTPOINT=/vagrantçalışabilir mi?
km6zla

Benim başlangıç ​​betiğim start on vagrant-mountedbazı nedenlerden dolayı çalışmıyor. Nedenini ve nasıl hata ayıklayacağını bilmiyorum.
maectpo

44

Seçeneği olan ayrı bir serseri tedarikçiyi run : "always"daha kolay buldum , örneğin:

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

Tüm dokümanlar için https://docs.vagrantup.com/v2/provisioning/shell.html adresini ziyaret edin .


3
Sağlanan bağlantı hakkında bir şey söylemiyor "always". Belki bu daha yeni bir sürümde kaldırılmıştır.
Rafael Eyng

6
@RafaelEyng belgelerini vagrantup.com/docs/provisioning/basic_usage.html adresinde bulabilirsiniz , "RUN ONCE VEYA HER ZAMAN" kelimesini arayın
Daniel Compton,

2017'de tekrar test edildi. Cazibe gibi çalışır. Bu en iyi cevap ve hala güncel.
iaforek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.