92 lines
4.1 KiB
TeX
92 lines
4.1 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 \cicd wird schnell gestartet,
|
|
um die Vorteile zu nutzen.
|
|
|
|
\medskip
|
|
Mit \cicd wird jedoch nicht nur eine einfache Automatisierung
|
|
bestehender Prozesse eingeführt. \cicd besitzt eine zentrale Rolle,
|
|
welche auch den Entwicklungsprozess selbst verändert. Diese zentrale
|
|
Rolle und Komplexität wird häufig unterschätzt. Schon während der
|
|
Einführung oder später im Betrieb treten unerwartete Herausforderungen
|
|
zu Tage, vom gravierenden Fehler im Produktionssystem bis hin zum Systemstillstand.
|
|
|
|
\medskip
|
|
Eine typische Herausforderung, welche erst im Betrieb deutlich wird,
|
|
ist die unabsichtliche Auslieferung eines nicht produktionsbereiten
|
|
Codes in den Betrieb.
|
|
|
|
\medskip
|
|
Eine falsche Handhabung in der \scm kann in einem \cicd
|
|
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{Mit dieser Seminararbeit soll untersucht werden, inwieweit sich solche und weitere typische und häufige Komplikationen bei der Einführung und dem Betrieb von \cicd verhindern lassen.}
|
|
|
|
\textbf{Sie stellt dar, wie das Auftreten eines ungewollten Deployments und weiterer Probleme sowohl in der Einführung als auch im Betrieb eines \cicd Systems durch geeignete Planung und technische Maßnahmen verhindert werden können.}
|
|
|
|
Anhand einer Problemrecherche und Analyse werden Empfehlungen
|
|
entwickelt, welche 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 und in der
|
|
Toollandschaft.
|
|
|
|
\medskip
|
|
Sie werden ergänzt durch Ansätze und Strategien, welche eine Orientierung für die Umsetzung liefern.
|
|
|
|
\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.
|
|
|
|
\medskip
|
|
\section{Methode}
|
|
Zur Erhebung relevanter Probleme wurden Experteninterviews,
|
|
wissenschaftliche Arbeiten, Erfahrungsberichte sowie eigene
|
|
Beobachtungen im \cicd Umfeld herangezogen.
|
|
|
|
\medskip
|
|
Aus der Problemanalyse wurden Ursachen identifiziert und
|
|
entsprechende Empfehlungen abgeleitet.
|
|
|
|
\section{Aufbau}
|
|
\todo{Fix name Ref}
|
|
Im Kapitel \ref{automatisierung-im-softwareentwicklungsprozess} werden Grundlagen für die Phasen der Softwareentwicklung und deren Automatisierung unter \cicd aufgezeigt, welche um eine Darstellung über das Branchkonzept unter Git ergänzt wird.
|
|
|
|
Diese Grundlagen dienen dem Verständnis der im Anschluss in Kapitel \ref{heraus} dargestellten Ergebnisse der Erhebung und Analyse von Problemen bei der Einführung und im Betrieb von \cicd. Hierbei wird das in der Einleitung angerissene Problem vertieft und erläutert.
|
|
|
|
Aus der Problemanalyse werden im Kapitel \ref{mas} Lösungsansätze und Empfehlungen formuliert und auch eine konkrete Umsetzungsempfehlung für das Eingangsproblem entwickelt.
|
|
|
|
\section{Abgrenzung}
|
|
|
|
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 \cicd werden nicht
|
|
betrachtet.
|