Landstreicher - wie die host-Plattform bestimmte provisioning-Schritte

Wir haben eine vielfältige dev-team, eine auf Windows, andere auf Ubuntu und anderen auf OSX. Als windows-junge, richte ich die erste version des vagrant-setup-Skript, das funktioniert Fabelhaft 😉

Allerdings, wenn es läuft auf dem Ubuntu-host, die erste Zeit wird es um eine Bestimmung im Schritt, fordert ein bash-Skript, es scheitert an den Berechtigungen.

Unter windows, das ist egal, wie der samba-share automatisch über ausreichende Berechtigungen zum ausführen des bash-Skripts (die wohnt in der Projekt-Hierarchie, so ist in der /vagrant share auf die VM), aber mit ubuntu, die ich brauche, um die Berechtigungen auf diese Datei in der Bereitstellung-Skript, bevor ich es nenne.

Dies ist nicht das problem und um ehrlich zu sein, ich vermute, sogar mit dem extra "chmod" Schritt wäre es immer noch gute Arbeit unter windows, aber gibt es eine Möglichkeit in der vagrant Datei Kennzeichnen, die bestimmte provisioning-Schritte als "Nur Windows", "Linux" oder "Mac-Only"?

d.h. in pseduo-code, so etwas wie.

.
.
if (host == windows) then
  config.vm.provision : shell, : inline => "/vagrant/provisioning/only_run_this_on_windows.sh"
else if (host == linux) then
  config.vm.provision : shell, : inline => "/vagrant/provisioning/only_run_this_on_linux.sh"
else if (host == osx) then
  config.vm.provision : shell, : inline => "/vagrant/provisioning/only_run_this_on_osx.sh"
end if
.
.

Vielen Dank im Voraus.

  • Jemand gerade verärgert (vielleicht auch mit den Frage/Antwort wurde nach unten gewählt) und ging in "down-vote-spree" -- sehen Sie eine meiner 3 letzten Antworten.
InformationsquelleAutor Steve Childs | 2014-11-07
Schreibe einen Kommentar