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

@@ -187,7 +187,7 @@ Entwicklungszweig, auf dem die Änderungen innerhalb eines
Projekt-Repository sequenziell fortgeschrieben werden. Projekt-Repository sequenziell fortgeschrieben werden.
~ ~
\todo{GitOps noch ürgentwo als kleinen Merker einbaue}
Der Name des Branches ist dafür ausschlaggebend, welcher Pfad in der Der Name des Branches ist dafür ausschlaggebend, welcher Pfad in der
Pipeline durchlaufen wird. Das Branch-Pattern beschreibt die Funktion, Pipeline durchlaufen wird. Das Branch-Pattern beschreibt die Funktion,
welche dem Branch zukommt. Je nach Art der Änderung \todo{kleine veränderung}auf einem Branch, welche dem Branch zukommt. Je nach Art der Änderung \todo{kleine veränderung}auf einem Branch,

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 Gerade bei einem All-in-One Tool ist die Einführung besonders
herausfordernd. Während bei einer individuellen Lösung häufig bereits 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 $\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 Für ein bereits existierendes Projekt muss die Migration aus der alten
Umgebung in das neue CI/CD System vorgesehen werden. 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 $\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 Wird ein selfhosted CI/CD-System nicht durch einen
Automatisierungsexperten umgesetzt und betreut, stehen die CI Tools zwar 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 werden. Unkenntnis über deren Existenz oder Inhalt führen zu den
folgenden Herausforderungen bei einer Einführung. 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 Dazu gehören Sicherheitsrichtlinien im Unternehmen, beispielsweise
könnte das Ausführen eines privilegierten Containers in einem CI/CD 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 $\Rightarrow$ Kann zum Scheitern der Systemeinführung führen oder ein Workaround ist
notwendig 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 Unternehmens- oder Projekt-Codingrichtlinien können den Vorgaben des
gewünschten Tools widersprechen. Ein Workaround ist notwendig. 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 \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 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 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 $\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 Eine häufig anzutreffende Richtlinie im Kubernetik-Umfeld betrifft die
Vorgabe, in einem Cluster jede Anwendung im eigenen Namespace 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 besondere Anforderungen an die Hardware, auf der ein CI/CD System
installiert wird. 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, CI/CD Systeme und Plattformen sind in ihrer Anwendung so ausgerichtet,
dass viele Projekte parallel CI/CD betreiben. 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 abbilden, während er auf einem CI/CD System mit einer etwas älteren
Hardware bis zu eineinhalb Stunden dauern kann 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 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 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. an Artefakten abgelegt wird.
\subsubsection{\text{B03} - fehlende Möglichkeit zum kontrolliertem Stopp der \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 Sobald eine gewisse Kette von Prozessen angestoßen ist, kann sie nicht
mehr unterbrochen werden und auf den konsistenten Zustand zuvor 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} \subsection[aufgrund Unkenntnis über Tool und Methode]{Probleme durch Unkenntnis über Tool und Methode}
\subsubsection{\textbf{B04} -- ungewolltes Aktivieren der Pipeline durch unbewusste \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 Wird versehentlich direkt auf dem Masterbranch gearbeitet und diese
Änderung im Source Code Managementsystem freigegeben, kann es zur Ä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) (siehe B03 - fehlende Möglichkeit zum kontrolliertem Stopp der Pipeline)
\subsubsection{\textbf{B05} -- unbewusste Einbindung von Software, welche durch \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 Häufig gibt es Richtlinien, welche die Löschung von Artefakten einer
Software nach einem vorgegebenen Zeitraum veranlassen, solange sie Software nach einem vorgegebenen Zeitraum veranlassen, solange sie
@@ -350,7 +350,7 @@ diese Löschung verloren gehen. \cite{plonski_herausforderungen_Leo_2020}
$\Rightarrow$ Programmabbruch $\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 Die statische Codeanalyse erwartet den Source Code in einem spezifischen
Ordner. Unkenntnis über diese Vorgabe kann dazu führen, dass der Source 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 $\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 Unkenntnis über Test/ und Tool (Automatisierungs- und
Produktionsrelevanz) Tests durchlaufen alle Codezeilen, ohne die 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 \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. Häufig geht mit Änderungen im Code auch eine Datenbankmigration einher.
Das automatisierte Deployment muss in der richtigen Reihenfolge Das automatisierte Deployment muss in der richtigen Reihenfolge