Alle Projekte
// Modul 122 · Scripting & Automatisierung
CI/CD Pipeline mit Bash & Python
Vollständige CI/CD Pipeline in Bash — automatisierter Build, 13 Unit Tests mit pytest und Deployment mit Backup-Funktionalität. Erweiterte Version mit Git-Integration, Benachrichtigungssystem und Pipeline-Metriken. November 2025.
// Pipeline-Ablauf
Die Pipeline durchläuft drei automatisierte Phasen — von der Validierung über automatisierte Tests bis zum Deployment. Die erweiterte Version fügt Git-Prüfung, Backups und Benachrichtigungen hinzu.
Phase 0: Git
Nur Extended
- Git-Installation prüfen
- Branch & Commit-Info
- Uncommitted Changes warnen
Phase 1: Build
py_compile
- Python-Installation prüfen
- Syntax-Check
- Build-Metadaten erstellen
Phase 2: Test
13 Tests
- Unit Tests (pytest)
- Integrationstests
- Testweise Ausführung
Phase 3: Deploy
+ Backup
- Altes Deployment sichern
- Artefakte kopieren
- Rechte setzen & Doku
// Behandelte Themen & Features
- CI/CD-Grundlagen — Continuous Integration & Deployment Prinzipien, Pipeline-Stages, Tool-Vergleich (Jenkins, GitLab CI, GitHub Actions)
- Bash-basierte Automatisierung — modulare Funktionen, farbcodierte Terminal-Ausgabe, robuste Fehlerbehandlung mit sofortigem Abbruch
- Python Unit Testing — 13 Tests in 2 Testklassen (TestMathOperations + TestIntegration), vollständige Coverage
- Git-Versionskontrolle — automatische Prüfung auf uncommitted Changes, Branch-Info in Build-Metadaten
- Backup & Rollback — automatisches Backup vor jedem Deployment, eindeutige Build-Nummern
- Benachrichtigungssystem — simulierte E-Mail-Reports mit Pipeline-Status, Metriken und Fehlerdetails
// pipeline.sh — Basis-Pipeline
Kernlogik der 3-Phasen-Pipeline
#!/bin/bash # Phase 1: BUILD check_python_installation validate_project_files syntax_check_with_py_compile copy_to_build_directory create_build_metadata # Phase 2: TEST find_test_files run_unit_tests # 13 Tests, 2 Klassen run_main_program # Testweise Ausführung # Phase 3: DEPLOY cleanup_old_deployment copy_build_artifacts create_deployment_docs set_execution_permissions
// Terminal-Ausgabe (Auszug)
Erfolgreicher Pipeline-Durchlauf
Tests durchgeführt: 13 Erfolgreich: 13 Fehlgeschlagen: 0 ✓ Alle Tests erfolgreich bestanden ✓ DEPLOY Phase abgeschlossen ℹ Gesamtdauer: 3 Sekunden
// Kennzahlen
3
Pipeline-Phasen
13
Unit Tests
2
Pipeline-Versionen
3s
Durchlaufzeit
// Projektstruktur
ci_cd_demo/ ├── pipeline.sh ├── pipeline_extended.sh ├── src/ │ └── main.py ├── tests/ │ └── test.py ├── build/ ├── deploy/ ├── logs/ └── backups/
// Gelernte Konzepte
- CI/CD Pipeline Design
- Automatisierte Tests (pytest)
- Build-Artefakt-Management
- Deployment-Strategien
- Rollback via Backups
- Modulare Bash-Programmierung
- DRY-Prinzip in Scripting
// Teamarbeit
Gruppenprojekt — Recherche, Implementierung und Dokumentation als Zweierteam.
Weitere Projekte entdecken
Zurück zur Projektübersicht oder direkt Kontakt aufnehmen.