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é.
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:
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 ...
start on vagrant-mounted MOUNTPOINT=/vagrant
aussi fonctionner?
start on vagrant-mounted
ne fonctionne pas pour une raison quelconque. Je ne sais pas pourquoi et je ne sais pas du tout comment le déboguer.
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.
"always"
. Peut-être que cela a été supprimé dans une version plus récente.
/bin/sh: 1: [: =: unexpected operator
, alors j'ai juste commenté cette ligne.