From 6016eb11e2b8335b92c942a819fa3ebc9fce948e Mon Sep 17 00:00:00 2001 From: fdai7472 Date: Tue, 28 Nov 2023 14:24:02 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 3a28c92..547ade3 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -71,3 +71,24 @@ Je größer ein Coding Projekt, desto wichtiger ist es, das Projekt zu protokoll ### Wiederholung Bei zentralem SCM wird die Historie auf einem Server/Netzwerk gespeichert. Dadurch sind die Dateien abgesichert. Alle Entwickler sehen alle commits und es ist erkennbar, wer an welcher Datei gerade arbeitet. Offline arbeiten sowie paralleles Arbeiten an einer Datei ist jedoch nicht möglich (locking). Im Gegenzug hat bei dem verteilten SCM jeder Entwickler seine eigene Version des Repositories. Dieses funktioniert ohne (permanente) Netzwerkverbindung und dient als implizietes Backup. Das Repository aller Entwickler ist also nicht synchron, wodurch Konflikte bei merges häufig auftreten. + +## SU 05 (28.11.23) + +### Lernziele + +- Continuous Integration (CI) System +- Ablauf/Bestandteile CI System +- Abhängigkeiten verwalten +- Semantische Versionierung (Major.Minor.Patch-Label) +- build-Prozess +- Integration +- automatisierte Tests +- gemeinsames remote repository vs privater fork + +### Erkenntnis + +Continuous Integration Systems erleichtern die Zusammenarbeit mehrerer Entwickler. Das CI System führt einzelne Änderungen am Source Code automatisiert und formatiert zusammen, organisiert Abhängigkeiten, führt automatisierte Tests aus, übersetzt den Quelltext in das Zielformat und stellt eine neue Version des fertigen Profukts bereit. + +### Wiederholung + +Da die Prozesse eines CI Systems vollkommen automatisiert und ohne menschlichen Eingriff ablaufen, kann man nicht direkt auf Fehler reagieren. Zum Beispiel sind kompilierbare Programme nicht immer auch ausführbar. Automatisierte Tests erkennen Fehler zur Laufzeit und dokumentieren gewünschtes Verhalten des Programms. Jedoch können nur bereits bekannte Fehler entdeckt werden.