This commit is contained in:
2020-03-19 19:51:04 +01:00
parent 911356cce2
commit 4862268bd8
2 changed files with 16 additions and 16 deletions

View File

@@ -77,7 +77,7 @@ Toolauswahl muss wiederholt werden
\subsubsection{\textbf{E02} - Umstellung der Nutzer auf Tools und Methode}
\subsubsection{\textbf{E02} - Umstellung der Nutzer auf Tools und Methode}\label{E02}
Gerade bei einem All-in-One Tool ist die Einführung besonders
herausfordernd. Während bei einer individuellen Lösung häufig bereits
@@ -90,7 +90,7 @@ in Bezug auf Tool und Methode.\cite{plonski_herausforderungen_grund_2020,plonski
$\Rightarrow$ Notwendigkeit von zusätzlichem Training für Methode und Tool
\subsubsection{\textbf{E03} - Migrationsaufwand}
\subsubsection{\textbf{E03} - Migrationsaufwand}\label{E03}
Für ein bereits existierendes Projekt muss die Migration aus der alten
Umgebung in das neue CI/CD System vorgesehen werden.
@@ -108,7 +108,7 @@ Problemen oder Verzögerungen führen können.\cite{plonski_herausforderungen_gr
$\Rightarrow$ Je nach Tool erheblicher Migrationsaufwand
\subsubsection{\textbf{E04} - Fehlender Automatisierungsexperten/Integrationsexperte}
\subsubsection{\textbf{E04} - Fehlender Automatisierungsexperten/Integrationsexperte}\label{E04}
Wird ein selfhosted CI/CD-System nicht durch einen
Automatisierungsexperten umgesetzt und betreut, stehen die CI Tools zwar
@@ -147,7 +147,7 @@ Richtlinien, unter denen CI/CD Systeme implementiert und betrieben
werden. Unkenntnis über deren Existenz oder Inhalt führen zu den
folgenden Herausforderungen bei einer Einführung.
\subsubsection{\textbf{E05} -- Sicherheitsrichtlinien widersprechen den Zugriffen durch das Tool\todo{anders formulieren}}
\subsubsection{\textbf{E05} -- Sicherheitsrichtlinien widersprechen den Zugriffen durch das Tool\todo{anders formulieren}}\label{E05}
Dazu gehören Sicherheitsrichtlinien im Unternehmen, beispielsweise
könnte das Ausführen eines privilegierten Containers in einem CI/CD
@@ -160,7 +160,7 @@ ein unautorisierter Zugriff auf das Produktionssystem erfolgen könnte.\cite{plo
$\Rightarrow$ Kann zum Scheitern der Systemeinführung führen oder ein Workaround ist
notwendig
\subsubsection{\textbf{E06} -- Coding-Konvention\todo{Blödes Problem}}
\subsubsection{\textbf{E06} -- Coding-Konvention\todo{Blödes Problem}}\label{E06}
Unternehmens- oder Projekt-Codingrichtlinien können den Vorgaben des
gewünschten Tools widersprechen. Ein Workaround ist notwendig.
@@ -172,7 +172,7 @@ $\Rightarrow$ Kann zum Scheitern der Systemeinführung führen oder ein Workarou
\subsubsection{\textbf{E07} -- Nicht übereinstimmende Portvorgaben zwischen der
Anwendungssoftware und dem} Tool
Anwendungssoftware und dem Tool}\label{E07}
Der Portmissmatch ist ein typisches Problem bei All-in-One Lösungen. Das
CI/CD System geht davon aus, dass die Software ihren Service über einen
@@ -191,7 +191,7 @@ immer wieder neu starten, um eine Selbstreparatur zu ermöglichen.\ref{be:gitlab
$\Rightarrow$ Pipeline zeigt ungewolltes Verhalten -- ist nicht funktionsfähig
\subsubsection{\textbf{E08} -- Namespace Restriktionen}
\subsubsection{\textbf{E08} -- Namespace Restriktionen}\label{E08}
Eine häufig anzutreffende Richtlinie im Kubernetik-Umfeld betrifft die
Vorgabe, in einem Cluster jede Anwendung im eigenen Namespace
@@ -219,7 +219,7 @@ kontinuierlich implementiert und integriert werden. Daraus ergeben sich
besondere Anforderungen an die Hardware, auf der ein CI/CD System
installiert wird.
\subsubsection{\textbf{B01} extreme Laufzeiten im Build-Prozess}
\subsubsection{\textbf{B01} extreme Laufzeiten im Build-Prozess}\label{B01}
CI/CD Systeme und Plattformen sind in ihrer Anwendung so ausgerichtet,
dass viele Projekte parallel CI/CD betreiben.
@@ -248,7 +248,7 @@ Entwicklungs-PC lasst sich ein Build-Prozess in etwa 5 bis 10 Minuten
abbilden, während er auf einem CI/CD System mit einer etwas älteren
Hardware bis zu eineinhalb Stunden dauern kann
\subsubsection{\textbf{B02} erschöpfte Speicherkapazität des CI/CD System}
\subsubsection{\textbf{B02} erschöpfte Speicherkapazität des CI/CD System}\label{B02}
Der Betrieb eines CI / CD Systems kann auch in Bezug auf Speicherplatz
zu Engpässen führen. Für jede kleineste Codeänderung wird das ganze Set
@@ -268,7 +268,7 @@ Speichermedien laufen voll, da kontinuierlich bei jeder Änderung alles
an Artefakten abgelegt wird.
\subsubsection{\text{B03} - fehlende Möglichkeit zum kontrolliertem Stopp der
Pipeline}
Pipeline}\label{B03}
Sobald eine gewisse Kette von Prozessen angestoßen ist, kann sie nicht
mehr unterbrochen werden und auf den konsistenten Zustand zuvor
@@ -282,7 +282,7 @@ $\Rightarrow$ Lange Wartezeiten für eine nicht mehr benötigte Pipelineausfüh
\subsection[aufgrund Unkenntnis über Tool und Methode]{Probleme durch Unkenntnis über Tool und Methode}
\subsubsection{\textbf{B04} -- ungewolltes Aktivieren der Pipeline durch unbewusste
Nutzung des Masterbranch}
Nutzung des Masterbranch} \label{B04}
Wird versehentlich direkt auf dem Masterbranch gearbeitet und diese
Änderung im Source Code Managementsystem freigegeben, kann es zur
@@ -337,7 +337,7 @@ eine Möglichkeit, das Deployment noch zu verhindern.
(siehe B03 - fehlende Möglichkeit zum kontrolliertem Stopp der Pipeline)
\subsubsection{\textbf{B05} -- unbewusste Einbindung von Software, welche durch
Löschungsroutinen nicht permanent zur Verfügung steht}
Löschungsroutinen nicht permanent zur Verfügung steht} \label{B05}
Häufig gibt es Richtlinien, welche die Löschung von Artefakten einer
Software nach einem vorgegebenen Zeitraum veranlassen, solange sie
@@ -350,7 +350,7 @@ diese Löschung verloren gehen. \cite{plonski_herausforderungen_Leo_2020}
$\Rightarrow$ Programmabbruch
\subsubsection{\textbf{B06} -- unzureichende Tests - Nutzung des CI/CD Systems}
\subsubsection{\textbf{B06} -- unzureichende Tests - Nutzung des CI/CD Systems}\label{B06}
Die statische Codeanalyse erwartet den Source Code in einem spezifischen
Ordner. Unkenntnis über diese Vorgabe kann dazu führen, dass der Source
@@ -364,7 +364,7 @@ weiter.\ref{be:jx} \cite{shahin2017continuous}
$\Rightarrow$ Ungetesteter Code befindet sich in Produktion
\subsubsection{\textbf{B07} -- Modultest nur auf Codeabdeckung ausgelegt}
\subsubsection{\textbf{B07} -- Modultest nur auf Codeabdeckung ausgelegt}\label{B07}
Unkenntnis über Test/ und Tool (Automatisierungs- und
Produktionsrelevanz) Tests durchlaufen alle Codezeilen, ohne die
@@ -384,7 +384,7 @@ $\Rightarrow$ Funktional ungetesteter Code befindet sich in Produktion
\subsubsection{\textbf{B08} -- Fehleranfälligkeit bei Migrationen für
Datenbankänderungen}
Datenbankänderungen} \label{B08}
Häufig geht mit Änderungen im Code auch eine Datenbankmigration einher.
Das automatisierte Deployment muss in der richtigen Reihenfolge