Wie kann ich Vagrant dazu bringen, den Server beim Start zu starten?


29

Ich möchte, dass Vagrant den Play-Server jedes Mal im Ordner / vagrant / startet, wenn ich Vagrant aufmache. Das Einfügen von @reboot in die crontab funktioniert nicht, da das Skript ausgeführt wird, bevor die Verbindung zum Ordner / vagrant / hergestellt ist.

Antworten:


16

Haben Sie versucht, Upstart anstelle von crontab zu verwenden ?

Vagrant gibt ein "Vagrant-Mounted" -Ereignis aus, wenn der freigegebene Ordner gemountet wird. Sie können also beispielsweise eine Upstart-Konfigurationsdatei erstellen /etc/init/play.conf, die ausgeführt wird, wenn dieses Ereignis ausgegeben wird:

description "Play server"
start on vagrant-mounted

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

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

Vielen Dank! Ich bin mir nicht sicher, warum ich den Fehler erhalten habe /bin/sh: 1: [: =: unexpected operator, daher habe ich diese Zeile nur auskommentiert.
falscher Benutzername

Hoppla! Ich habe den Beitrag so bearbeitet, dass die Syntax korrekt ist.
Billyw

Kann auch start on vagrant-mounted MOUNTPOINT=/vagrantarbeiten?
km6zla

Mein Startup-Skript start on vagrant-mountedfunktioniert aus irgendeinem Grund nicht. Ich weiß nicht warum und weiß überhaupt nicht, wie ich es debuggen soll.
Maectpo

44

Ich fand die Verwendung eines separaten Provisioners für Vagabunden mit der Option run : "always"viel einfacher, z. B .:

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

Das vollständige Dokument finden Sie unter https://docs.vagrantup.com/v2/provisioning/shell.html .


3
Der angegebene Link sagt nichts darüber aus "always". Möglicherweise wurde dies in einer neueren Version entfernt.
Rafael Eyng

6
@RafaelDie entsprechenden Dokumente finden Sie unter vagrantup.com/docs/provisioning/basic_usage.html . Suchen Sie nach "RUN ONCE OR ALWAYS"
Daniel Compton,

Im Jahr 2017 erneut getestet. Funktioniert wie ein Zauber. Dies ist die beste Antwort und immer noch aktuell.
Iaforek
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.