knuspermagier.de
Er bloggt noch? Krass!

Vagrant

Na, kennt ihr schon Vagrant? Wenn nicht, dann will ich es kurz vorstellen.

Vagrant ist im Grunde erstmal ein Commandline-Interface für Virtualbox und macht es sehr einfach neue Virtuelle Maschinen zu erstellen, konfigurieren und zu starten. Alles ist sehr eingängig, die Konfiguration lässt sich mit Ruby-Code schreiben und zum starten einer VM genügt ein einfaches vagrant up.

Wozu das ganze?

Naja. Wenn ich programmiere, dann habe ich den Code meistens in einer VM. Warum? Weil ich keine Lust habe mir mein Betriebsystem durch irgendwelche bescheuerten XAMP-Pakete (oder eigene entsprechende Installationen von Webserver, PHP, MySQL) zuzumüllen und weil ich will, dass mein Code möglichst in der Umgebung läuft, in der es auch im Produktivsystem laufen wird. Also ein Debian-Rechner.

Schon seit langem mache ich das mit Virtualbox. Was mir Vagrant hier erleichtert ist der ganze Startprozess, indem es ein paar Mausklicks durch ein einfaches Consolenkommando ersetzt. Außerdem hängt nirgens das dämliche Virtualbox-Fenster rum, da es Virtualbox ohne GUI startet. (Ja, das könnte man auch ohne Vagrant, aber nicht so komfortabel, wenn ich das recht in Erinnerung habe)

Und das ist jetzt alles?

Nein. Das Basis-System, mit der man bei Vagrant eine neue VM startet, hat bereits entsprechend Support für Configuration-Management-Systeme wie Puppet oder Chef eingebaut. Mit ein paar Zeilen in der Vagrant-Konfiguration ist es dadurch möglich in windeseile eine komplett fertig installierte und konfigurierte VM zu basteln.

Das hilft dann z.b. wenn man schnell mal lokal irgendetwas nachstellen oder ausprobieren will und dafür ein paar VMs braucht.

Voraussetzung dafür ist natürlich, dass man entsprechende Chef/Puppet-Konfigurationen hat. Aber da ich mich damit eh schon seit längerem mal beschäftigen wollte ist das hier der perfekte Anlass dafür. Eventuell berichte ich später über meine Erfolge!