Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:ffit:3-jahr:cicd:learningunits:lu02:a [2026/02/02 23:31] – apeterde:modul:ffit:3-jahr:cicd:learningunits:lu02:a [2026/02/03 00:42] (aktuell) – apeter
Zeile 1: Zeile 1:
-====== LU02a - Pipeline Phasen & Trigger ======+====== LU02a - Pipeline Phasen ======
  
 In einer Build-Pipeline sind in der Regel verschiedene Phasen(Stages), die seriell oder parallel durchlaufen werden.  In einer Build-Pipeline sind in der Regel verschiedene Phasen(Stages), die seriell oder parallel durchlaufen werden. 
  
-==== Phasen ==== +^ Stage ^ Beschreibung ^ Allfällige Umsysteme ^ 
- +| Checkout | Kopieren des Codes in lokales Verzeichnis als Vorbereitung für die folgenden Phasen. | Code-Repository(Github, Gitlab, ...) |  
- +| Abhängigkeiten installieren | ''npm install'', ''pip install -r requirements.txt'', ''gradlew dependencies''| Artifactory(JFrog, ...) | 
-==== Trigger ==== +| Linting | Überprüfung, ob die vordefinierten Coderichtlinien eingehalten wurden. Je nach Konfiguration kann diese Stage fehlschlagen, ohne die Pipeline abzubrechen (z. B. als Warnung). | - | 
- +| Build/Compile | Kompilieren/Transpilieren/Builden des Codes. Eine einfache Methode, um sicherzustellen, dass der Code zumindest installiert und gestartet werden kann | - | 
-Je nach Anzahl der Commits und Zeitbedarf der einzelnen Schritte, ist es sinnvoll verschiedene Trigger einzusetzen und nicht immer alle Phasen  +| Unit Tests | Einfache Tests, um einzelne Teile der Logik zu kontrollieren. | - | 
-auszuführen. +| Integration Tests | Tests, welche die Zusammenarbeit mehrerer Komponenten unter Einbezug externer Abhängigkeiten prüfen. | Datenbank, Dateisystem, Mock-Server, ... | 
- +| E2E Tests | Tests, die den kompletten Stack testen, also von der Benutzeroberfläche bis zur Datenbank. | Test-System, Mock-Server, 3rd Parties(SauceLabs, ...), ... | 
-^ Pipeline-Phase / Stage ^ Typische Trigger ^ +| Erweiterte Codeanalyse | Statische Codeanalyse alleine ist ähnlich wie Linting, jedoch gibt es Systeme wie SonarQube, welche noch viel mächtiger sind. Bei Auswertung der Test Coverage läuft diese Phase entsprechend erst nach allen Tests. | SonarQube | 
-| **Checkout / Source holen** | Commit / Push, Merge Request, manueller Start, CRON | +| Package / Artifact bauen | Code-Ergebnis wird als Paket bereitgestellt, welches online verfügbar ist und weiterverwendet werden kann. | Artifactory(JFrog, ...) | 
-| **Abhängigkeiten installieren** | Commit / Push, Merge Request, manueller Start | +| Deploy auf Dev/Test | Code wird auf einem Entwicklungs- oder Testsystem installiert zur weiteren Validierung (manuell oder automatisch). | Dev/Testsystem | 
-| **Static Code Analysis / Linting** | Commit / Push, Merge Request | +| Deploy auf Prod | Code wird auf dem produktiven System ausgerollt und für die Benutzer zur Verfügung gestellt. | Prodsystem |
-| **Build / Compile** | Commit / Push, Merge Request | +
-| **Unit Tests** | Commit / Push, Merge Request | +
-| **Integration Tests** | Merge Request, manueller Start | +
-| **E2E Tests (zeitaufwändig)** | CRON (z.B. nightly), manueller Start | +
-| **Security Scans (SAST/Dependency Scan)** | Merge Request, CRON | +
-| **Package / Artifact bauen** | Merge in Main, Release-Tag | +
-| **Docker Image bauen** | Merge in Main, Release-Tag | +
-| **Deploy auf Test/Staging** | Merge Request, Merge in Main | +
-| **Smoke Tests nach Deploy** | Nach Deployment | +
-| **Deploy auf Produktion** | Release-Tag, manueller Freigabe-Trigger | +
-| **Post-Deploy Checks / Monitoring** | Nach Deployment, CRON | +
-| **Cleanup (z.B. alte Artifacts)** | CRON |+
  
  • de/modul/ffit/3-jahr/cicd/learningunits/lu02/a.1770071469.txt.gz
  • Zuletzt geändert: 2026/02/02 23:31
  • von apeter