2016-04-20 6 views
1

Ich entwickle vagrant Umgebung für mein Team. Eine der Annahmen ist, dass die Datenbank außerhalb der Maschine sein muss. Daher muss jedes Teammitglied seinen eigenen MySQL-Server auf seinem eigenen lokalen Rechner installieren und eine Datei local.yaml (Marionette) mit Datenbankkonfiguration erstellen. Das Problem ist, dass nicht jedes Mitglied meine Anweisungen liest und nach Minuten der Erstellung gibt es Db-Fehler (keine Datenbank gefunden etc.). Ich möchte einige Informationen hinzufügen, bevor jemand den Befehl "vagrant up" ausführt.Gibt es eine Möglichkeit, "vagrant up" -Befehl zu blockieren, wenn einige Projektdateien fehlen

Frage: Gibt es eine Möglichkeit, vagrant zu blockieren, wenn es keine local.yaml-Datei gibt?

Antwort

1

Sie können jederzeit einen Scheck für die local.yaml Datei in Ihrem Vagrantfile haben und dann raise, wenn es nicht

existiert Ich denke, der Code wie folgt aussehen würde:

... 
raise 'You need a local.yaml' unless File.exist?('local.yaml') 
... 
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    ... 

Verbrauch:

$ vagrant up 
There was an error loading a Vagrantfile. The file being loaded 
and the error message are shown below. This is usually caused by 
a syntax error. 

Path: /Users/<username>/<workspace>/<project>/Vagrantfile 
Line number: 0 
Message: RuntimeError: You need a local.yaml 
+0

es kann sogar überprüfen, die db auf host läuft .. '' außer 'ps aux | grep ! = "" '' –

+0

@ FrédéricHenri in der Tat können Sie – edhurtig

+0

Vielen Dank! Sie haben mir sehr geholfen :) –