93 lines
3.4 KiB
TeX
93 lines
3.4 KiB
TeX
\chapter{Einleitung}
|
|
|
|
Das Thema der Digitalisierung ist heute nicht mehr wegzudenken, wenn es
|
|
in den Unternehmen darum geht, in der wachsenden Dynamik des Marktes
|
|
passend zu agieren. Dabei muss auch die Softwareentwicklung sich diesem
|
|
Trend anpassen und so von prozess- und planungslastigen Projekten zu
|
|
einer agilen Entwicklung mit vollautomatisierten Prozessen umschwenken.
|
|
|
|
\medskip
|
|
Der moderne Softwareentwicklungsprozess wird immer weiter automatisiert.
|
|
Hier sind ``Continuous Integration'' und ``Continuous Deployment/Delivery''
|
|
(CI/CD) schon weit verbreitet und dafür bekannt, den
|
|
Softwareentwicklungsprozess zu beschleunigen \cite{article:google}.
|
|
|
|
|
|
|
|
\section{Motivation}
|
|
|
|
Auf den ersten Blick erscheinen die Konzepte einfach und schnell
|
|
umsetzbar zu sein und die Umstellung auf CI/CD wird schnell gestartet,
|
|
um die Vorteile zu nutzen.
|
|
|
|
\medskip
|
|
Mit CI/CD wird jedoch nicht nur eine einfache Automatisierung
|
|
bestehender Prozesse eingeführt. CI/CD besitzt eine zentrale Rolle,
|
|
welche auch den Entwicklungsprozess selbst verändert. Diese zentrale
|
|
Rolle und Komplexität wird häufig unterschätzt, und schon während der
|
|
Einführung oder später im Betrieb treten unerwartete Herausforderungen
|
|
zu Tage.
|
|
|
|
\medskip
|
|
Eine dieser Herausforderungen, welche erst im Betrieb deutlich werden,
|
|
ist die unabsichtliche Auslieferung eines nicht produktionsbereiten
|
|
Codes in den Betrieb.
|
|
|
|
\medskip
|
|
Eine falsche Handhabung in der Versionsverwaltung kann in einem CI/CD
|
|
Umfeld zu diesem ungewollten Deployment führen und so eine fehlerhafte
|
|
Funktionalität der Software oder sogar einen Systemausfall bewirken.
|
|
|
|
\medskip
|
|
\section{Ziel der Arbeit}
|
|
|
|
\textbf{
|
|
\noindent
|
|
Das Auftreten eines ungewollten Deployments und weiterer häufig
|
|
anzutreffender Probleme innerhalb eines CI/CD - Systems kann bereits bei
|
|
der Einführung durch geeignete Planung und technische Maßnahmen
|
|
verhindert werden.
|
|
}
|
|
|
|
Anhand einer Problemrecherche und Analyse werden Empfehlungen
|
|
entwickelt, die bei der Planung und Einführung eines Systems
|
|
herangezogen werden können.
|
|
|
|
\medskip
|
|
Diese Empfehlungen sind sehr allgemein formuliert, bedingt durch die
|
|
große Vielseitigkeit in den Einsatzumgebungen als auch durch in der
|
|
Toollandschaft.
|
|
|
|
\medskip
|
|
Sie werden ergänzt durch Ansätze und Strategien, an denen man sich in
|
|
der Umsetzung orientieren kann.
|
|
|
|
\medskip
|
|
Für das dargestellte Problem des ungewollten Deployment eines nicht
|
|
produktionsreifen Codes wird für eine konkrete Einsatzumgebung und
|
|
Toolsituation aufgezeigt, wie sich das Problem durch entsprechende
|
|
Planung und technische Maßnahmen verhindern lässt.
|
|
\newpage
|
|
|
|
|
|
\section{Vorgehen}
|
|
Zur Erhebung relevanter Probleme wurden Experteninterviews geführt,
|
|
wissenschaftliche Arbeiten, Erfahrungsberichte sowie eigene
|
|
Beobachtungen im CI/CD Umfeld herangezogen.
|
|
|
|
\medskip
|
|
Aus der Problemanalyse wurden die Ursachen identifiziert und
|
|
entsprechende Empfehlungen abgeleitet.
|
|
|
|
\medskip
|
|
In einem ersten Schritt betrachte ich den Softwareentwicklungsprozess
|
|
und die Automatisierungsmöglichkeiten im Allgemeinen, um dann Ideexx von \todo{Ausschreiben}
|
|
CI/CD aufzuzeigen.
|
|
|
|
\medskip
|
|
Die Problemrecherche und Analyse kann nicht den Anspruch der
|
|
Vollständigkeit erfüllen. Sie berücksichtigt typische- und häufig
|
|
anzutreffende Probleme. Dabei sind die Empfehlungen unabhängig von einem
|
|
konkreten Anwendungsfall und der Toolsituation formuliert. Probleme zur
|
|
Thematik des mentalen Wandels bei der Einführung von CI/CD werden nicht
|
|
betrachtet. |