Skip to content
Michael Schaar edited this page Oct 28, 2025 · 1 revision

Continuous Integration & Continuous Delivery (CI/CD)

CI/CD (Continuous Integration & Continuous Delivery) ist kein einzelnes Tool, sondern ein Prinzip moderner Softwareentwicklung. Es beschreibt, wie Teams Code-Änderungen effizient, sicher und automatisiert in lauffähige Software verwandeln – von der Entwicklung bis zur Bereitstellung.

💡 Warum CI/CD? Stell dir vor, du arbeitest mit anderen an einem Python-Skript für IoT-Daten auf dem Raspberry Pi. Früher:

  • Jede:r testete lokal.
  • Änderungen wurden manuell zusammengeführt – oft mit Fehlern: inkompatible Versionen, vergessene Tests oder kaputte Builds.

CI/CD löst diese Probleme durch Automatisierung!


🔄 Continuous Integration (CI)

CI sorgt dafür, dass Codeänderungen ständig integriert und automatisch geprüft werden.

Ablauf einer CI-Pipeline

Jede Änderung, die ins Git-Repository gepusht wird, löst automatisch diese Schritte aus:

Schritt Beispiel
Code bauen Kompilieren mit make, cmake oder pip install.
Unit-Tests ausführen Automatisierte Tests prüfen Funktionen (z. B. mit pytest).
Statische Codeanalyse Tools wie pylint oder flake8 prüfen Code-Stil und potenzielle Fehler.
Feedback Entwickler:innen erhalten sofort eine Erfolgs- oder Fehlermeldung.

🎯 Ziel von CI:

Fehler früh erkennenbevor sie das Projekt blockieren.


🚀 Continuous Delivery (CD)

CD geht einen Schritt weiter: Wenn der Code alle Tests besteht, wird er automatisch bereitgestellt – zunächst in Testumgebungen, später ggf. in der Produktion.

Mögliche CD-Aktionen

Aktion Beispiel
Docker-Image bauen Automatisches Erstellen und Hochladen eines Images nach Docker Hub.
Deployment auf Testserver Neue Version einer Webanwendung wird auf einem Staging-Server bereitgestellt.
Raspberry Pi aktualisieren Ein getestetes Python-Skript wird automatisch auf alle Pis im Netzwerk ausgerollt.
Rollback-Mechanismen Bei Fehlern wird automatisch zur letzten stabilen Version zurückgesprungen.

💡 Vorteil von CD:

Software bleibt stets aktuell, und neue Features erreichen Nutzer:innen schneller und sicherer.


🎓 Warum CI/CD für DOITPi spannend ist

DOITPi bietet die perfekte Umgebung, um CI/CD auf dem Raspberry Pi praktisch zu erleben:

  • Lokale CI/CD-Pipeline:
    • Nutze den integrierten Git-Server von DOITPi für Versionskontrolle.
    • Automatische Build-Skripte und Docker-Support sind vorinstalliert.
  • Lernziel:
    • Du lernst nicht nur, wie man Software entwickelt, sondern auch, wie man sie robust, reproduzierbar und automatisiert ausliefert – genau das, worum es in modernen DevOps-Prozessen geht.
  • Fun Fact: DOITPi selbst wurde mit einer CI/CD-Pipeline erstellt!

🛠 CI/CD in der Praxis mit DOITPi

1. Ein einfaches CI-Beispiel mit GitHub Actions

Erstelle eine .github/workflows/ci.yml-Datei in deinem Repository:

name: Python CI

on: [push]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.11'
      - name: Install dependencies
        run: pip install -r requirements.txt
      - name: Run tests
        run: pytest

2. CD mit Docker und Raspberry Pi

Automatisches Bauen und Bereitstellen eines Docker-Images:

name: Docker CD

on:
  push:
    branches: [ main ]

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Login to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      - name: Build and push
        uses: docker/build-push-action@v4
        with:
          push: true
          tags: dein-benutzername/doitpi-app:latest

💡 Tipp für DOITPi:

  • Nutze GitLab CI/CD oder GitHub Actions, um deine eigenen Pipelines zu erstellen.
  • Teste deine Skripte lokal mit Docker und Ansible – beides ist in DOITPi vorinstalliert!

Häufige Fragen zu CI/CD

Frage Antwort
Brauche ich teure Tools für CI/CD? Nein! DOITPi bietet kostenlose Open-Source-Tools wie Git, Docker etc.
Kann ich CI/CD auf einem Raspberry Pi nutzen? Ja! DOITPi ist vorbereitet für lokale CI/CD-Pipelines (z. B. mit GitLab Runner).
Was ist der Unterschied zwischen CI und CD? CI integriert Codeänderungen, CD stellt sie bereit. Beide zusammen bilden CI/CD.
Wie teste ich meine Pipeline? Nutze Test-Branches und simulierte Deployments, bevor du in Produktion gehst.

📌 Nächste Schritte mit DOITPi


💡 Warum CI/CD mit DOITPi?

  • Praktisch lernen: Erlebe DevOps-Prozesse hands-on auf dem Raspberry Pi.
  • Skalierbar: Von kleinen Skripten bis zu komplexen IoT-Systemen – CI/CD wächst mit deinen Projekten.
  • Zukunftssicher: Automatisierung ist ein Kernskill in moderner Softwareentwicklung!

🚀 Schnellstart: DOITPi in 30 Sekunden

Für Eilige:

Du willst sofort loslegen? Hier ist der direkte Weg zur Installation:

👉 Installation von DOITPi


Was du brauchst:

  • Raspberry Pi (Modell 3/4/5 oder Zero 2 W)
  • microSD-Karte (mind. 32 GB)
  • Kartenleser o.Ä
  • Netzteil
  • 15 Minuten Zeit

Los geht’s! 🎉

Jetzt installieren →


⚡ DOITPi Auto-Hotspot

Immer verbunden – automatisch!

🔒 Passwort anpassen! 🔧

Kurz, klar, direkt zum Ziel – perfekt für alle, die keine Zeit verlieren wollen! 😊

Clone this wiki locally