Inventage Tech-RadarInventage Tech-Radar

CI/CD

DevOps
Adopt

Continuous-Integration und -Delivery werden, wenn möglich, bis zur Produktions-Installation auf Knopfdruck umgesetzt. Wir erreichen dies durch den Einsatz geeigneter Tools wie GitHub-Actions, Container-Images und möglichst produktionsnaher Testumgebungen beim Kunden oder In-House.

Der vollautomatische Release wird zwar angestrebt, kann jedoch unter Berücksichtigung der Bedürfnisse der Applikation und des Kunden angepasst werden. Aspekte wie die Komplexität der Integration, die gewünschte Häufigkeit von Releases, die Länge der Downtime oder der Umfang der Änderungen haben dabei Auswirkungen auf den Automatisierungsgrad.

Adopt

CI/CD — Continuous Integration und Continuous Delivery bzw. Continuous-Deployment — sind Methodiken des Software-Engineering bei denen Codeänderungen am Produkt mit möglichst kleiner Verzögerung und kleinem manuellem Aufwand gebaut, getestet und zu einem Produkt zusammengefügt (integrated) als auch in einem geeigneten Format ausgeliefert (delivery) werden. Ein weiterer Schritt ist das automatisierte (ggf. auf Knopfdruck) Installieren der Software auf dem Zielsystem (Continuous Deployment).

Die Methodik trägt massgeblich zur Qualität von Software bei, da Probleme unmittelbar sichtbar werden. Sie ermöglicht schnellere Entwicklungszyklen, da Änderungen am Code bereits kurze Zeit später auf Testumgebungen von den Benutzern getestet, sowie im Erfolgsfall umgehend auf einer produktiven Umgebung installiert werden können.

Inventage setzt stark auf CI/CD und strebt zunehmend die vollständige Automatisierung des kompletten Release-Zyklus an. Neuere Projekte setzen dies in der Regel bereits um. Wir erreichen dies durch Einsatz geeigneter Tools, wie bislang dem Jenkins Buildserver, sowie zunehmend Container-basierter Buildsysteme, wie z.B. GitHub Actions oder Gitlab CI/CD.