← Level 6 – Projektleiter

Lektion 5 von 8 ⏱ 35 Minuten Premium

Automatisches Deployment

Richte GitHub Actions ein: push eine Änderung und die Website aktualisiert sich selbst. Wie die Profis.

Roboter machen die Arbeit für dich

Gerade funktioniert es so: du änderst den Code → commit → push → GitHub Pages aktualisiert sich. Das ist schon Automatisierung! Aber die Profis gehen weiter – GitHub Actions ist ein Roboter, der nach jedem Push tut, was du ihm sagst: Website bauen, Fehler prüfen, deployen.

Das heißt CI/CD (Continuous Integration / Continuous Deployment). Klingt kompliziert, ist aber eigentlich nur: „Roboter prüfen und deployen alles nach jeder Änderung.”

Zeig mir das: dein erster Workflow

Aufgaben für Roboter schreibst du in eine Datei im Ordner .github/workflows/. Zum Beispiel deploy.yml:

name: Check and deploy

on:
  push:
    branches: [main]   # run after every push to main

jobs:
  check:
    runs-on: ubuntu-latest   # the robot gets a clean Linux computer
    steps:
      - uses: actions/checkout@v4      # download my code
      - name: Check HTML
        run: |
          echo "Checking that index.html exists…"
          test -f index.html && echo "OK ✅"

Nach einem Push erscheint ein laufender Roboter auf GitHub unter dem Tab Actions. Ein grüner Haken bedeutet, alles bestanden; ein rotes X bedeutet, etwas stimmt nicht, und der Roboter sagt dir was.

💡

GitHub Pages nutzt schon Actions! Wenn du den Actions-Tab anschaust, siehst du, dass das Deployment von Pages über einen Workflow namens „pages build and deployment” läuft. Du fügst jetzt deine eigenen extra Checks darüber – wie ein echter Chef, der keine kaputte Version live lässt.

Jetzt du 💪

  1. Erstelle .github/workflows/deploy.yml nach dem Beispiel, pushe es und beobachte den Actions-Tab.
  2. Mach absichtlich etwas kaputt: benenne index.html in index2.html um, pushe – der Workflow wird rot. Repariere es und schau zu, wie er grün wird. (Das ist die wichtigste Erfahrung dieser Lektion!)
  3. Füge dem Workflow einen zweiten Schritt hinzu – prüfen, ob kein localhost im HTML geblieben ist:
      - name: No localhost in the code
        run: |
          if grep -r "localhost:3000" *.html; then
            echo "WARNING: localhost was left in the code!" && exit 1
          fi
          echo "OK ✅"
  1. Schreib in LAUNCH.md: „Die Website deployt automatisch, ein Roboter prüft jeden Push.”

Kontrolliere dich selbst: Dein Workflow läuft im Actions-Tab nach jedem Push. Du hast sowohl rot (kaputt) als auch grün (repariert) gesehen. Die Website aktualisiert sich ohne einen einzigen manuellen Schritt.

Das nimmst du aus dieser Lektion mit