diff --git a/Lerntagebuch.md b/Lerntagebuch.md index c7c6d61..dc93204 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -607,23 +607,23 @@ Schreibe Code im TDD cycle. #### Bedeutung von CI im Softwareentwicklungsprozess -Größe von Software-Projekten +**Größe von Software-Projekten** - steigende Komplexität - mehrere Entwickler - Zusammenführen der Einzelleistungen -Zusammenführen der Einzelleistungen +Z**usammenführen der Einzelleistungen** - Widerspruch Kreativität vs. Konformität - technische Konflikte - persönliche Konflikte - Aufwand -Vorteile von CI Systemen +**Vorteile von CI Systemen** - formale Prozesse verringern - automatisierte Prozesse verringern Aufwand - Vorstufe zu Continous Delivery -Aufbau eines CI/CD-Systems +**Aufbau eines CI/CD-Systems** - Entwicklungsumgebung des Programmierers - Source Code Management System (SCM) @@ -632,9 +632,9 @@ Aufbau eines CI/CD-Systems - Continous Integration Server - Erweiterungen für Continous Delivery -Entwicklungsumgebung des Programmierers +**Entwicklungsumgebung des Programmierers** -Integrated Developement Environment (IDE) +**Integrated Developement Environment (IDE**) - Syntax highlighting - Syntax-Vervollständigung - automatisierte Refactorings @@ -643,7 +643,7 @@ Integrated Developement Environment (IDE) - Code automatische Formatierung - Fehler-Lokalisierung -Source Code Management System (SCM) +**Source Code Management System (SCM)** - Sicherung der Arbeit einzelner Entwickler - zentrale Verfügbarmachung - Zusammenführung parallel geänderter Dateien @@ -651,28 +651,28 @@ Source Code Management System (SCM) - Zugriff auf dedizierte Stände (releases) - wechsel zwischen Entwicklungsständen -Abhängigkeitenverwaltung +**Abhängigkeitenverwaltung** - nicht selbst im Build-Lauf erzeugt - zentrale Bereitstellung (innerhalb der Organisation) - Zugriff auf einzelne Versionen -build – Werkzeug +**build – Werkzeug** - Übersetzen - Liefer-Artefakte erzeugen - Abhängigkeiten organisieren - automatisierte Tests ausführen - Deploymen -Continous Integration Server +**Continous Integration Server** - SCM überwachen - build-Prozess starten - Ergebnisse berichteten -Erweiterungen für Continous Delivery +**Erweiterungen für Continous Delivery** - Staging System - Produktions System -Ablauf des CI-Prozesses +**Ablauf des CI-Prozesses** - Checkin Change - Fetch Change - Build @@ -680,7 +680,7 @@ Ablauf des CI-Prozesses - Ergebnisauswertung - Benachrichtigung -Checkin Change +**Checkin Change** - veröffentlichen der Änderung - eigener branch - alle aktuell veröffentlichten Änderungen integriert. @@ -689,27 +689,27 @@ Checkin Change - automatisierte (Unit–)Tests sind ”grün” - Lieferobjekt kann lokal gebaut werden -Fetch Change +**Fetch Change** - Änderungen feststellen - zeitgesteuert - ereignisgesteuert -Build +**Build** - Änderung mit aktuellem Stand integrieren (merge) - compile (Produktivcode und Testcode) -Test +**Test** - nur nach erfolgreichem compile - Testframework starten - Ergebnisse sammeln -Ergebnisauswertung +**Ergebnisauswertung** - Ermittelt Status von merge, compile und Test - Erfolgsfall: Änderung als neuen aktuellen Stand übernehmen undveröffentlichen - Ergebnisdarstellung als Webseite -Benachrichtigung +**Benachrichtigung** - zeitnah - Fehlerfall: Committer - Erfolgsfall: alle @@ -721,17 +721,17 @@ Benachrichtigung - WhatsApp -Rolle von automatisierten Tests +**Rolle von automatisierten Tests** - Problem des Continous Integration - Vorteile automatisierter Tests - Grenzen automatisierter Tests -Problem des Continous Integration +**Problem des Continous Integration** - compilierbar ! = ausführbar - CI soll immer lieferbaren Stand bereit halten - Programm muss im CI Prozess ausgeführt werden -Vorteile automatisierter Tests +**Vorteile automatisierter Tests** - automatisierte Tests führen Programm aus - dokumentieren gewünschtes Verhalten - sind wiederholbar @@ -739,7 +739,7 @@ Vorteile automatisierter Tests - Ausführungszeit von Arbeitszeit entkoppelt -Grenzen automatisierter Tests +**Grenzen automatisierter Tests** - finden nur Abweichungen von gewünschten/bekanntem Verhalten - finden keine neuen fachlichen Fehler