This commit is contained in:
David Schirrmeister 2025-05-26 12:44:26 +02:00
parent 1856de3fef
commit ad7156e6dc
7 changed files with 89 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -113,7 +113,7 @@
<toc-element topic="01_ImplementingForMaintainability.md"/>
<toc-element topic="02_TestingForContinuousQuality.md"/>
<toc-element topic="03_ContinousDevelopment.md"/>
<toc-element topic="05_GrundlagenGrammatiken.md"/>
<toc-element topic="04_Operations.md"/>
</toc-element>
<toc-element toc-title="Theoretische Informatik">
@ -131,6 +131,8 @@
<toc-element topic="02_GrundlagenFormaleSprachen.md"/>
<toc-element topic="03_GrundlagenEndlicherAutomaten.md"/>
<toc-element topic="04_GrenzenGroesseEA.md"/>
<toc-element topic="05_GrundlagenGrammatiken.md"/>
</toc-element>
</toc-element>

View File

@ -68,7 +68,7 @@
- Vermeide lange Branches
- Überprüfe regelmäßig die Main-Line
### VC - Branching GitFlow
#### VC - Branching GitFlow
- ![image_845.png](image_845.png)
- Development Branch (develop)
- master/main für produktionsfertigen Code
@ -86,4 +86,87 @@
- direkt auf main mergen, ...
### Dependency Management
-
- Komponenten / Module von anderen Teams innerhalb der Organisation
- 3rd Party Bibliotheken
#### Managing Components
- größere Projekte sollten in mehrere Komponenten zerlegt werden
- ggf. auch separate Pipelines zum builden
#### Managing External Libraries
- kommen meist in binärer Form
- am besten lokale Kopien in Versionen, welche funktionieren
- latest könnte bugs haben / die Anwendung kaputt machen
- trotzdem regelmäßig updaten!
### Software Configurations
- sollten gemanaged und getestet werden
- erlauben der Software mehr Flexibilität
- Wann?
- Während des buildens / packaging
- schlecht, dann ist das image nicht universell einsetzbar
- Deployment / Startup / Run Time
- egal wann sie sollten immer über den gleichen Mechanismus geschehen
- bspw. Passwörter sollten nicht gehardcoded werden
### Environment Management
- Jede Software benötigt Hardware/Software/Infrastruktur/externe Systeme
- = Environment
- Sollte automatisiert laufen
- sollte einfacher sein einfach den kaputten wegzuwerfen und neu zu erstellen, als zu reparieren
## CI/CD
![image_859.png](image_859.png)
- Continuous Integration
- kein Dev will immer die gesamte Anwendung testen / laufen lassen
- CI übernimmt
- automatisierte Tests
- Bugs werden früher gefunden
- Continuous Delivery
- Erweiterung von CI um Release in Staging
- Continuous Deployment
- automatisches Deployment in Produktionsumgebung
### CI/CD Good Practices
- Wenn ein Fehler auftritt, ist es höchste Prio diesen zu fixen
- Vorher keine weiteren Änderungen pushen
- nicht nach Hause gehen, wenns nicht mehr geht
- entweder fixen oder rückgängig machen
- wer Änderungen macht ist auch verantwortlich
- Tests vorher lokal laufen lassen
- wenn welche fehlschlagen → nicht auskommentieren
- Pipeline nach dem pushen beobachten
- Pipeline stoppen lassen bei Fehlern
- fehlschlagende Tests
- langsame Tests
- hässlicher Codestyle
## Deployment Pipeline
![image_860.png](image_860.png)
- binarys so selten wie möglich erstellen
- dauert lange
- falls eine doppelt verwendet werden kann → doppelt nutzen
- bspw. Staging/Production
- Smoke-Testing vom Environment
- primitiv checken, ob Anwendung läuft und bspw. Startseite gewünschte Daten zeigt
- Staging-Umgebung nutzen für Acceptance Stage
- Alle Änderungen sollten durch die Pipeline gehen
- Falls irgendwas fehlschlägt → Pipeline stoppen
### Stages
#### Commit Stage
![image_861.png](image_861.png)
- Bestandteile:
- Code kompilieren
- Tests laufen lassen (Unit, Integration)
- Binaries erstellen
- statische Codeanalyse
- Falls Commit Stage funktioniert → Release Kandidaten erstellen
#### Acceptance Stage
![image_862.png](image_862.png)
- Bestandteile
- Service Testing
- Laufen in produktionsähnlicher Umgebung

View File

@ -0,0 +1 @@
# Operations