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


29

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é.

Réponses:


16

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

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, à 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 ...

Merci! Je ne sais pas pourquoi j'ai eu l'erreur /bin/sh: 1: [: =: unexpected operator, alors j'ai juste commenté cette ligne.
falseusername

Oops! J'ai édité le post pour que la syntaxe soit correcte.
billyw

Peut start on vagrant-mounted MOUNTPOINT=/vagrantaussi fonctionner?
km6zla

Pour mon script upstart start on vagrant-mountedne fonctionne pas pour une raison quelconque. Je ne sais pas pourquoi et je ne sais pas du tout comment le déboguer.
maectpo

44

J'ai trouvé l'utilisation d'un provisioner 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.


3
Le lien fourni ne dit rien "always". Peut-être que cela a été supprimé dans une version plus récente.
Rafael Eyng

6
@RafaelEyng les documents pour cela sont à vagrantup.com/docs/provisioning/basic_usage.html , recherchez "RUN ONCE OR ALWAYS"
Daniel Compton

Retesté en 2017. Fonctionne comme un charme. C'est la meilleure réponse et toujours à jour.
iaforek
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.