© Teguh Jati Prasetyo/Shutterstock.com
Teil 3: Docker als Build-Container für Angular-/JavaScript-Applikationen

Voll auf Docker


In den ersten beiden Teilen der Artikelserie wurde der grundsätzliche Einsatz von Jenkins für JavaScript-Projekte am Beispiel Angular gezeigt und beschrieben, wie die Build-Konfiguration mit dem Jenkinsfile in den Entwicklungsprozess integriert wird. In diesem Teil werden wir am Beispiel einer Angular-Anwendung zeigen, welche Vorteile der Einsatz von Docker für Build und Auslieferung bringen kann.

Die Verwaltung von Abhängigkeiten kann als eine der Kernherausforderungen im Technologieumfeld bezeichnet werden. Doch nicht nur die Abhängigkeiten, die eine Anwendung zur Laufzeit oder zum Build-Zeitpunkt mitbringt, müssen durch Werkzeuge wie npm oder Maven abgebildet werden. Auch im Build eingesetzte Werkzeuge (beispielsweise Maven, npm, Compiler, Linker) stellen Abhängigkeiten dar. Meist gibt es für die Werkzeuge wiederum Laufzeitabhängigkeiten, zum Beispiel eine bestimmte Java-Version oder Node.js-Runtime. Für Entwickler, die in unterschiedlichen Umgebungen testen müssen, kann das schnell zur echten Herausforderung werden.

Zumindest für Laufzeitumgebungen wurden Werkzeuge wie Ruby Version Manager (RVM) oder Node Version Manager (nvm) entwickelt. Damit lassen sich die jeweils aktiven Versionen der Laufzeitumgebungen umschalten. In diversen Projekten wurden auch schon Eigenlösungen für die Java Virtual Machine (JVM) oder die Konfiguration von C Libraries beobachtet. Damit lassen sich für Entwickler mehr oder minder komfortable Lösungen erstellen. Doch spätestens auf dem Build-Server kann die Verwaltung vieler unterschiedlicher paralleler Umgebungen und Versionen für die Praxis untauglich werden. Zudem entsteht ein unnötiger Flaschenhals, wenn die Verwaltung der Build-Umgebungen durch Systemadministratoren vorgenommen werden muss – DevOps sieht anders aus.

Wünschenswert ist also eine minimale Build-Umgebung mit weitgehender Kontrolle über Werkzeug(-versionen) und Umgebung durch diejenigen, die am besten wissen, wie diese beschaffen sein müssen: Entwickler. Durch die von...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang