This commit is contained in:
David Schirrmeister 2025-05-19 12:46:39 +02:00
parent ee10c126a9
commit 28467e6771
5 changed files with 91 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

View File

@ -110,6 +110,8 @@
<toc-element topic="00_Introduction.md"/>
<toc-element topic="01_ImplementingForMaintainability.md"/>
<toc-element topic="02_TestingForContinuousQuality.md"/>
<toc-element topic="03_ContinousDevelopment.md"/>
</toc-element>
<toc-element toc-title="Theoretische Informatik">
<toc-element toc-title="Übungen">

View File

@ -0,0 +1,89 @@
# Continuous Development
## Configuration Management
### Version Control System (VCS)
- Erlauben mehrere Versionen von Dateien
- Falls etwas bearbeitet wurde, sieht man, wie es vorher aussah
- Erlaubt dem Team zusammenzuarbeiten
- auch wenn verteilt
#### Good Practices VC
- Absolut alles im VCS speichern
- Tests, Datenbankscripte, Buildscripte, Dokumentationen, etc.
- Alle Informationen, die benötigt werden, um irgendwelche Test- / Produktionsumgebungen wiederherzustellen
### VC - Release Versioning
- Jeder Release sollte eine eigene Nummer haben
#### Versionsschema
- SemVer (Semantic Versioning)
- **MAJOR**._Minor_.patch
- Major
- Bahnbrechende Änderungen (Hohes Risiko)
- inkompatible API Änderungen
- Entfernen von Features
- Änderungen am Datenbankschema, die Daten entfernen
- Minor Version
- Features (Mittleres Risiko)
- neues Feature
- UI ändern
- DB-Schema erweitern (keine Daten entfernen)
- patch version
- Alle anderen Änderungen (kaum Risiko)
- kleinere Bug-Fixes
- Zusätzliche Labels
- alpha
- beta
- bspw:
- _1.0.0-alpha.1_
- ![image_843.png](image_843.png)
- ![image_844.png](image_844.png)
### VC - Meaningful Commits
```Git
<type>[optional scope]: <description>
[optional body]
[optional footer(a)]
```
#### Commit Types
- chore
- bspw. Abhängigkeiten updaten
- refactor
- docs
- style
- Formatieren, fehlende Semikolons, ...
- test
- perf
- Performance Verbesserungen
- ci
- CI/CD related
- build
- Änderungen, die das Build-System oder externe Abhängigkeiten betreffen
- revert
- Rückgängig machen
### VC - Branching
- Vermeide lange Branches
- Überprüfe regelmäßig die Main-Line
### VC - Branching GitFlow
- ![image_845.png](image_845.png)
- Development Branch (develop)
- master/main für produktionsfertigen Code
- develop für letzte Development Änderungen
- Feature Branch (feature/*)
- für neue Features
- existiert nur so lange, wie das Feature entwickelt wird
- Hotfix Branch (hotfix/*)
- Wie ein Release-Branch, aber für unerwartete, kurzfristige Releases
**Probleme:**
- Hotfix / Release Branch
- macht die Sache deutlich (teilweise unnötig) komplizierter
- Devs machen häufig Fehler
- direkt auf main mergen, ...
### Dependency Management
-