© Liashko/Shutterstock.com
PHP-Applikationen containerisieren und auf Kubernetes deployen

Mit GitLab CI auf das Containerschiff


Sie möchten auf das Containerschiff MS Kubernetes deployen? Dann steigen Sie ein, halten Sie sich gut fest und lassen Sie die kommenden Themen über GitLab CI und automatisches Testen und Deployen für Softwareprojekte auf sich wirken.

Continuous, aus dem Englischen übersetzt, steht für kontinuierlich, stetig und weitere gleichwirkende Begrifflichkeiten. Dabei trifft kontinuierlich, nach der direkten Übersetzung und auch der Bedeutung in diesem Fall, am besten zu. Es geht darum, eine kontinuierliche Integration bzw. eine kontinuierliche Delivery zu haben. Auf ein Softwareprojekt übertragen meint Continuous Integration (CI), dass bei jeder Änderung am Code die Integration der unterschiedlichen Codeabschnitte (Interfaces, Klassen, Funktionen usw.) festgestellt werden kann. Dabei geht es nicht nur um die Integrität der Codefunktionalität im Projekt selbst, sondern auch um die Integrität mit externen Schnittstellen (zum Beispiel: Funktioniert die Wetterdienstanbindung richtig?). Es kann aber auch um einen Test gehen, ob der Coding-Style eingehalten wurde.

Delivery bezieht sich nicht auf Essenslieferungen, sondern auf das Liefern einer neuen Version in einem Softwareprojekt. Im Rahmen von Continuous Delivery (CD) stoßen wir auf Agile. Das sind kurz zusammengefasst Methoden, um schnell auf den Markt reagieren zu können. Bei Continuous Delivery kommt Agile im Rahmen der Time-to-Market-Strategie als einer der wichtigsten Punkte auf. Als Beispiel: Wenn bei klassischen Softwareprojekten jedes halbe Jahr eine neue Version veröffentlicht wird, würde mit Continuous Delivery und damit einem agilen Handeln der Zeitrahmen um einiges verkürzt. Dies hängt wiederum mit Continuous Integration zusammen. Wenn man entsprechend durch kontinuierliche Tests die Integrität des Projekts kennt, kann man anhand dieses Faktors kontinuierlich eine neue Version veröffentlichen. Neben einem Mindset, die Integrität des Projektes zu wahren, ist aber auch wichtig, dass man dort auch entsprechende agile Tools einsetzt, um die neue Version dann auszurollen.

Zusammengefasst kann Folgendes festgehalten werden: Wenn durch Tests die Integrität des Projekts geprüft und gewahrt wird, kann die Dauer, bis Softwarefehler und/oder neue Features in eine Applikation eingebaut sind und den Nutzern zur Verfügung stehen (Time to Market), verkürzt werden.

GitLab CI: Was? Wie? Warum?

GitLab ist grundlegend ein Source-Code-Management-Server, der neben Source-Code-Management jedoch noch einiges mehr kann. GitLab hat ein Ticketsystem für Projekte an Bord, eine Auto-DevOps-Funktion, um Projekte automatisch anhand der genutzten Programmiersprache mit Continuous Integration zu versorgen. Codeänderungen können reviewt werden und es gibt viele andere nützliche Funktionen, um den Applikationsentwicklungsprozess einfacher und schneller zu gestalten. GitLab hat verschiedene Lizenzen, unter anderem eine gratis Community-Edition-Lizenz (mit eingeschränkter Funktionalität).

Aber nun zu GitLab CI. Es handelt sich um ein Continuous-Integration- und Delivery-System, das zu 100 Prozent in GitLab integriert ist und einen starken Fokus auf Container legt. Die starke Integration mit GitLab bedeutet, dass zum Beispiel bei Codeänderungen der Status des dadurch gestarteten Continuous-Integration-Laufs aus GitLab heraus verfolgt werden kann. Vom Grundprinzip her gibt es in jedem Projekt eine Datei, in der steht,...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang