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.