xx wurde ge x
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
\hypertarget{automatisierung-im-softwareentwicklungsprozess}{%
|
||||
\chapter{Automatisierung im Softwareentwicklungsprozess}
|
||||
\label{automatisierung-im-softwareentwicklungsprozess}}
|
||||
\todo{Quellen}
|
||||
|
||||
Im diesem Kapitel wird ausgehend von den Phasen des
|
||||
Softwareentwicklungsprozesses die Funktionsweise von \cicd aufgezeigt.
|
||||
@@ -147,11 +148,8 @@ GitLab-CI}.
|
||||
~
|
||||
|
||||
\subsection*{Continuous Delivery / Continuous Deployment}
|
||||
\todo{Mehr zu CDE und CD schreiben}
|
||||
Die Abkürzung CD kann sowohl für Continuous Delivery als auch für
|
||||
Continuous Deployment stehen und bezeichnen die weitere Automatisierung
|
||||
in der Pipeline und stehen für das Ausmaß der Automatisierung.
|
||||
\todo{the fuck}
|
||||
Die Abkürzung CD kann sowohl für \cdel als auch für
|
||||
\cdl stehen. Sie unterscheiden sich im Ausmaß der Automatisierung innerhalb der Pipeline.
|
||||
|
||||
\subsection{Continuous Delivery}\label{cde}
|
||||
|
||||
@@ -161,6 +159,13 @@ nachdem sie zuvor durch \ci integriert, versioniert und archiviert
|
||||
abgelegt wurde. Eine automatische Installation in dieser Zielumgebung
|
||||
findet nicht statt.
|
||||
|
||||
\subsubsection*{Beispiel für eine cloudähnliche Container-Zielumgebung:}
|
||||
In dieser Umgebung können die Container-Images nur von einem lokalen Image-Registry bezogen werden.
|
||||
Continuous Delivery spielt die Artefakte eines erfolgreichen Release-CI-Run automatisch in das lokale Image-Registry der Zielumgebung.
|
||||
Das Container-Image steht nun bereit, wurde jedoch noch nicht installiert.
|
||||
|
||||
|
||||
|
||||
\subsection{Continuous Deployment}\label{cd}
|
||||
Eine weiterführende Automatisierung stellt das \textbf{\cdl}
|
||||
dar. Es erweitert die Funktionalität des \cdel, in dem es
|
||||
@@ -174,24 +179,22 @@ Codeänderungen innerhalb von wenigen Minuten produktiv werden können.
|
||||
|
||||
~
|
||||
|
||||
Das Risiko ist geringer\todo{welches risiko}, weil Änderungen in kleinen Schritten
|
||||
durchgeführt werden und bei jedem \textit{CI -- Run} alle Tests wiederholt und am
|
||||
Ende in den Betrieb gebracht werden.
|
||||
|
||||
Das Risiko für Fehler im Betrieb ist geringer, da Änderungen in kleinen Schritten mit jedem CI/CD Run integriert, getestet werden.
|
||||
|
||||
|
||||
\section{Git und die Bedeutung von Branches}
|
||||
|
||||
Das Versionmanagementsystem Git basiert auf dem Konzept der Branches,
|
||||
\label{grund:git}
|
||||
Die \scm Git besitzt im Zusammenhang mit CI/CD die Möglichkeit, die operativen Systeme versioniert zu steuern. Dies wird auch als \textbf{GitOps} bezeichnet und ist eine weit verbreitete CI/CD Methode.
|
||||
Git basiert auf dem Konzept von Branches,
|
||||
welches verschiedene Codeversionen enthalten kann. Ein Branch ist ein
|
||||
Entwicklungszweig, auf dem die Änderungen innerhalb eines
|
||||
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
|
||||
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. Wird eine Änderung auf einem Branch,
|
||||
wird sie auf die gewünschte Weise vom CI/CD System verwaltet, integriert
|
||||
und in den Betrieb gebracht.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user