web-dev-qa-db-fra.com

Comment puis-je demander à Vagrant de démarrer le serveur au démarrage?

Je veux que Vagrant démarre le serveur Play dans le dossier/vagrant/chaque fois que je fais vagabonder. Mettre @reboot sur la crontab ne fonctionne pas car le script s'exécute avant que le dossier/vagrant/ne soit connecté.

29
wrongusername

Au lieu d'utiliser crontab, avez-vous essayé d'utiliser pstart ?

Vagrant émet un événement "monté sur vagrant" lorsque le dossier partagé est monté, vous pouvez donc créer un fichier de configuration par défaut, par exemple /etc/init/play.conf, pour s'exécuter lorsque cet événement est émis:

description "Play server"
start on vagrant-mounted

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

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

J'ai trouvé l'utilisation d'un provisionneur vagabond séparé avec l'option run : "always" beaucoup plus facile, par exemple:

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

Voir https://docs.vagrantup.com/v2/provisioning/Shell.html pour le document complet.

44
culmat