Alle Projekte // Modul 122 · Scripting & Automatisierung

CI/CD Pipeline mit Bash & Python

Bash Python pytest Git DevOps Automation

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.

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
  • 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
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
Erfolgreicher Pipeline-Durchlauf
Tests durchgeführt: 13
Erfolgreich: 13
Fehlgeschlagen: 0

✓ Alle Tests erfolgreich bestanden
✓ DEPLOY Phase abgeschlossen
ℹ Gesamtdauer: 3 Sekunden
3
Pipeline-Phasen
13
Unit Tests
2
Pipeline-Versionen
3s
Durchlaufzeit
ci_cd_demo/
├── pipeline.sh
├── pipeline_extended.sh
├── src/
│   └── main.py
├── tests/
│   └── test.py
├── build/
├── deploy/
├── logs/
└── backups/
  • CI/CD Pipeline Design
  • Automatisierte Tests (pytest)
  • Build-Artefakt-Management
  • Deployment-Strategien
  • Rollback via Backups
  • Modulare Bash-Programmierung
  • DRY-Prinzip in Scripting

Gruppenprojekt — Recherche, Implementierung und Dokumentation als Zweierteam.

Weitere Projekte entdecken

Zurück zur Projektübersicht oder direkt Kontakt aufnehmen.

Alle Projekte Kontakt