@ -147,3 +147,48 @@ Neben dem Master gibt es noch develop, release, hotfix und den feature-branch.
---
## SU 5 (28.11.2023)
### Lernziel
- Projekte werden immer größer und komplexer
- mit CI Systemen wird der Code von mehreren Entwicklern automatisch zusammen geführt
- Der Softwareentwicklungsprozess besteht aus 6 Bestanteilen
- Code schreiben
- Abhängigkeitsverwaltung
- Code veröffentlichen
- Integration
- build-Prozess
- Bereitstellung
- Automatisierte Tests werden vom CI-System (Continous Integration) durchgeführt
- kein menschlicher Eingriff
- hält lieferbaren Stand bereit
- dokumentiert Verhalten
- erkennt Laufzeitfehler
- findet nur Abweichungen von gewünschten Verhalten, keine neuen Fehler
- gemeinsames repository
- alle Entwicklern schreiben in ein repository
- jeder hat Schrieb-/Lesezugriff
- einfache Synchronisation
- privater fork
- zentrales repository
- jeder Entwickler remote repository (fork)
### Erkenntnis
Durch CI-Systeme wird die Zusammenarbeit zwischen mehreren Entwicklern. Durch automatisches Mergen und Tests wird der menschlicher Eingriff und dokumentiert Verhalten.
### Wiederholung
Die vom CI-System durchgeführten Test dienen dazu das Verhalten des Programms zu dokumentieren und Laufzeitfehler zu erkennen.
Es hält außerdem immer einen auslieferbaren Stand der Software bereit. Es erkennt allerdings keine neuen Fehler, sondern nur Abweichungen zum gewünschten Verhalten.