PROJECT.LOADED
MODUL 122 · SCRIPTING
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.

3
Pipeline-Phasen
13
Unit Tests
2
Pipeline-Versionen
3s
Durchlaufzeit
// Pipeline-Phasen
Phase 0: Git
Git-Installation prüfen, Branch & Commit-Info, Uncommitted Changes warnen
Phase 1: Build
Python-Installation prüfen, Syntax-Check mit py_compile, Build-Metadaten erstellen
Phase 2: Test
Unit Tests mit pytest, Integrationstests, testweise Ausführung des Programms
Phase 3: Deploy
Altes Deployment sichern (Backup), Artefakte kopieren, Rechte setzen & Doku
// Behandelte Themen & Features
CI/CD-Grundlagen
Continuous Integration & Deployment Prinzipien, Pipeline-Stages, Tool-Vergleich
Bash-Automatisierung
Modulare Funktionen, farbcodierte Terminal-Ausgabe, robuste Fehlerbehandlung
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
bash — pipeline.sh
#!/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
bash — pipeline output
Tests durchgeführt: 13
Erfolgreich: 13
Fehlgeschlagen: 0

✓ Alle Tests erfolgreich bestanden
✓ DEPLOY Phase abgeschlossen
ℹ Gesamtdauer: 3 Sekunden
// Projektstruktur
tree — ci_cd_demo/
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
  • Build-Artefakt-Management
  • Deployment-Strategien
  • Rollback via Backups
  • Modulare Bash-Programmierung
  • DRY-Prinzip

Gruppenprojekt — Recherche, Implementierung und Dokumentation als Zweierteam.

Weitere Projekte entdecken

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

Alle Projekte Kontakt