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.