1 September 2014
Summary
Wer schon mal in einem größeren Team mit einer zentralen Entwicklungs- und Testumgebung gearbeitet hat, wird wissen, was dort allerhand Kompromisse eingegangen werden müssen: relativ seltene Deployments, die dann genau zur falschen Zeit, viele Abstimmungen, inkompatible Schnittstellen und Datenbankschema zur lokalen Version, etc.. Wie schön wäre es doch seine eigene definierte Umgebung zu haben. Dies ist nun mit Werkzeugen aus der DevOps-Bewegung, die unter dem Begriff „Infrastructure as Code“ laufen, möglich. Mit diesen Mitteln sind auch Continuous Integrationsumgebungen für mehrere Branches einfach umzusetzen, so dass der Code vor der Integration in zentrale Branches bereits getestet ist. Bei ausreichend hoher Testabdeckung können die erstellten Artefakte direkt für Deployments bereitgestellt werden (continuous delivery).
In diesem Tutorium werden anhand eines konkreten Beispiels alle Schritte durchgegangen, um auf dem eigenen Rechner eine Laufzeitumgebung für eine typische Java-Applikation mit einem Datenbank-Server einzurichten. Hierzu werden primär vagrant, puppet und VirtualBox genutzt. Weiterhin wird ein Ausblick auf den Einsatz im CI-Server, mehrerer VMs und Docker gegeben.