Schulungsübersicht
Leichtgewichtige Autonomie bei der Nutzung von CI
- Warum Cloud-basierte CI/CD-Dienste zu Abhängigkeiten gegenüber bestimmten Anbietern und Sicherheitsrisiken führen.
- Entwurfsziele von Woodpecker CI: Einfachheit, Docker-Kompatibilität sowie Unabhängigkeit vom Host-System.
- Vergleich mit GitHub Actions, GitLab CI, Drone und Jenkins.
Bereitstellung des Servers sowie der Agents
- Aufbau des Docker Compose-Stacks: Server, Agents und Datenbank.
- Einstellung von Umgebungsvariablen sowie Registrierung beim Forge über OAuth.
- Verwendung von Agent-Labels, Kapazitätsplanung sowie Ressourcenbegrenzungen.
Pipeline-Erstellung
- Syntax von woodpecker.yml: Schritte, Dienste und Bedingungen.
- Auswahl der passenden Docker-Images sowie Einrichtung des Arbeitsverzeichnisses.
- Parallele Ausführung sowie Definition von Abhängigkeiten zwischen Schritten.
Integration mit Gitea und Forgejo
- Einrichtung der Webhook-Konfiguration in Gitea bzw. Forgejo.
- Filtern nach Branches, Auslösung durch Pull Requests sowie Reaktion auf Tag-Änderungen.
- Meldung des Commit-Status sowie Generierung von Badges zur Visualisierung.
Geheime Daten und Sicherheit
- Verwaltung von geheimen Daten auf Repository-, Organisations- und globaler Ebene.
- Sichere Übergabe von Zugangsdaten an Deployment-Stufen.
- Netzwerkisolation sowie Unterscheidung zwischen vertrauenswürdigen und unvertrauenswürdigen Agents.
Matrix-Builds und Caching-Mechanismen
- Einrichtung von Test-Matrizen mit verschiedenen Sprachen sowie Versionsangaben.
- Nutzung von Cache-Plugins zur Speicherung von Abhängigkeiten.
- Hochladen der erzeugten Artefakte auf ein S3-kompatibles Speichersystem.
Operative Verwaltung
- Auswertung von Server-Logs, Überwachung der Agenten-Telemetriedaten sowie Inspektion des Warteschlangensystems.
- Horizontales Skalieren der Agents mithilfe von Docker Swarm oder Kubernetes.
- Sichere Sicherung und Wiederherstellung von Pipeline-Verläufen sowie gespeicherten geheimen Daten.
Voraussetzungen
- Grundkenntnisse in Git sowie Erfahrung mit CI/CD-Pipelines.
- Erfahrung in der Linux-Serververwaltung und im Umgang mit Docker.
- Bekanntheit mit den Administrationsaspekten von Gitea oder Forgejo.
Zielgruppe
- DevOps-Teams, die für Gitea bzw. Forgejo leichtgewichtige, selbstgehostete CI-Lösungen benötigen.
- Organisationen, die auf Cloud-basierte Dienste wie GitHub Actions oder GitLab CI verzichten wollen.
- Kleine bis mittelgroße Teams, die vollständige Kontrolle über ihre Pipelines ohne unnötigen Ballast bevorzugen.
Erfahrungsberichte (2)
Mir gefällt, dass ich sofort Antworten auf meine Fragen erhalte.
Szabolcs Kriston - Ericsson
Kurs - Advanced GitLab
Maschinelle Übersetzung
Ich mochte die einfache Kommunikation zwischen dem Trainer und uns, die Aufmerksamkeit, die unseren Problemen, Einsichten und zusätzlichen Kenntnissen in den Antworten auf unsere Fragen gewidmet wurde. Ich mochte das Tempo, es fühlte sich zu keinem Zeitpunkt überstürzt an, selbst bei technischen Schwierigkeiten. Jedes Thema wurde angemessen behandelt.
Melania Mieczkowska - IAV Poland
Kurs - Gitlab and Gitlab CI
Maschinelle Übersetzung