From 3287797403ae6d51d070d4b83e44e01bd63b8844 Mon Sep 17 00:00:00 2001 From: fdai7107 Date: Tue, 17 Jan 2023 22:44:53 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 3d2656d..912f1dd 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -250,6 +250,48 @@ - Danach sollte man einen Produktivcode, der gerademalso ausreicht um den Test zu erfüllen. - Zuletzt sollte der Produktionscode und Test weiterverbessert werden, ohne einen Test fehlzuschlagen oder neue Funktionalitäten hinzuzufügen. +# Woche 10 + +(11.01.2023) + +## Lernziele + +- Die Bedeutung von CI im Softwarenetwicklungsprozess +- Der Aufbau eines CI/CD-Systems +- Der Ablauf eines CI-Prozesses +- Die Rolle von atumatiesierten Tests + +## Wiederholung + +- Die Größe eines Softwareprojekts bestimmt die steigende Komplexität, Anzahl der Entwickler und das Zusammenführen der Einzelleistungen. +- Beim Zusammenführen der Einzelleistungen, können mehrere Probleme entstehen: + - Zum einen der Widerspruch von Kreativität zur Konformität + - Des Weiteren technische Konflikte. + - Auch persönliche Konflikte. + - Schlussendlich noch der Aufwand. +- CI-Systeme haben mehrere Vorteile: + - Zum einen verringern formale Prozesse Konfliktpotential. + - Des Weiteren verringern automatisierte Prozesse den Aufwand. + - Es ist die Vorstufe zur Continous Delivery. +- CI/CD-Systems sind wie folgt aufgebaut: + - Entwicklungsumgebung des Programmierers + - Source Code Management System + - Abhängigkeitsverwaltung + - Continous Integration Server + - Erweiterung für Continous Delivery +- Der CI-Prozess ist wie folgt aufgebaut: + - Checkin Change + - Fetch Change + - Build + - Test + - Ergebnisauswertung + - Benachrichtigung + +## Erkenntnis + +- Continous Integration sollte immer compilierbar, also ausführbar sein, ohne Ausnahme! +- Ein automatisierter Tet würde zwar das Programm ausführen, gewünschtes Verhalten dokumentieren und Laufzeitfehler erkennen, aber das wars auch schon, es würde keine neuen fachlichen Fehler finden. +