Wie man Drone CI auf einem VPS selbst hostet (Vollständiger Leitfaden)
Das Selbst-Hosting von Continuous Integration- und Delivery-Systemen kann Ihren Entwicklungsworkflow erheblich verbessern. Drone CI ist ein Open-Source-CI-System, das sich nahtlos in Ihr Repository integriert und eine intuitive Benutzeroberfläche zur Verwaltung von Builds bietet. In diesem Leitfaden zeigen wir Ihnen den Prozess des Selbst-Hostings von Drone CI auf einem VPS.
Warum einen VPS für Drone CI verwenden?
Die Nutzung eines VPS (Virtual Private Server) zum Hosten von Drone CI ermöglicht Ihnen, die vollständige Kontrolle über Ihre Umgebung zu haben. Dies ist entscheidend für Entwickler, die ihre CI-Pipelines anpassen und sensible Daten sicher aufbewahren möchten. Im Folgenden finden Sie einen kleinen Vergleich einiger der besten VPS-Anbieter, die sich für das Hosten von Drone CI eignen.
| Anbieter | Preis | Ressourcen | Ideal für |
|---|---|---|---|
| Contabo VPS | 5,99 EUR/Monat | 4 GB RAM, 2 vCores | Budget-Nutzer |
| Hetzner Cloud | 4,15 EUR/Monat | 2 GB RAM, 1 vCore | Kleine Projekte |
| DigitalOcean | 6 USD/Monat | 1 GB RAM, 1 vCore | Startups |
| Vultr | 6 USD/Monat | 1 GB RAM, 1 vCore | Flexibilität |
| Linode | 5 USD/Monat | 1 GB RAM, 1 vCore | VPS-Anfänger |
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Einen VPS: Wählen Sie einen der oben genannten Anbieter. Zum Beispiel Contabo oder Hetzner.
- Docker: Drone CI läuft in einem Docker-Container.
- Domainname (optional): Um auf den CI-Server visuell und sicher zuzugreifen.
- Zugriff auf GitHub oder ein gleichwertiges Repository, wenn Sie Webhooks einrichten möchten.
Schritt 1: Richten Sie Ihren VPS ein
-
Melden Sie sich bei Ihrem VPS an: Verwenden Sie SSH, um sich auf Ihrem Server anzumelden.
ssh root@your-server-ip -
Aktualisieren Sie das System:
apt-get update && apt-get upgrade -y -
Installieren Sie Docker und Docker Compose:
apt-get install -y docker.io docker-compose -
Überprüfen Sie, ob Docker korrekt installiert ist:
docker --version
Schritt 2: Installieren Sie Drone CI
-
Erstellen Sie ein Verzeichnis für Drone:
mkdir -p /opt/drone cd /opt/drone -
Erstellen Sie eine
.env-Datei: Erstellen Sie eine neue Datei mit dem Namen.envim Verzeichnis/opt/dronemit folgendem Inhalt:DRONE_GITEA_SERVER=https://your-gitea-server.com DRONE_RPC_SECRET=your-rpc-secret DRONE_SERVER_HOST=your-drone-domain.com DRONE_SERVER_PROTO=https -
Erstellen Sie die
docker-compose.yml-Datei:version: '3' services: drone-server: image: drone/drone:latest ports: - 80:80 environment: - DRONE_GITEA_SERVER=https://your-gitea-server.com - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} - DRONE_SERVER_HOST=${DRONE_SERVER_HOST} - DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO} volumes: - drone-data:/data volumes: drone-data: -
Starten Sie Drone: Führen Sie den folgenden Befehl aus, um den Drone-Server zu starten:
docker-compose up -d
Schritt 3: Konfigurieren Sie Drone CI
-
Zugriff auf Drone: Öffnen Sie Ihren Browser und gehen Sie zu
http://your-drone-domain.com. Sie sollten den Anmeldebildschirm von Drone CI sehen. -
Melden Sie sich mit Ihrem Repository-Konto an: Verbinden Sie Ihren Git-Dienst.
-
Richten Sie Ihr Repository ein: Sobald Sie angemeldet sind, können Sie konfigurieren, welche Repositories Sie mit Drone automatisieren möchten.
-
Erstellen Sie eine
.drone.yml-Datei in Ihrem Repository: Diese Datei enthält die Pipeline-Konfiguration.
Häufig gestellte Fragen
Was sind die Speicheranforderungen für Drone CI?
Drone CI selbst benötigt nicht viel Speicherplatz. Die minimale Empfehlung liegt bei 1 GB, was ausreichend für Protokolle und Konfigurationsdateien ist. Je nach Größe Ihres Codes und der Anzahl der Builds müssen Sie jedoch möglicherweise eine größere Festplattengröße in Betracht ziehen. Darüber hinaus erzeugt eine längere Nutzung mehr Daten; daher ist es wichtig, den Speicher regelmäßig zu überwachen. Verwenden Sie die Volumenverwaltungsoptionen innerhalb von Docker, um die Speichernutzung zu optimieren.
Kann ich Drone CI mit GitHub oder GitLab integrieren?
Ja, Drone CI unterstützt die Integration mit verschiedenen Repository-Hosting-Diensten, einschließlich GitHub, GitLab, Bitbucket und Gitea. Um dies einzurichten, besuchen Sie die Drone-Konfigurationsseite nach der Anmeldung und wählen Sie Ihren gewünschten Git-Dienst aus. Stellen Sie sicher, dass Sie die notwendigen Berechtigungen für Ihre Repositories haben, um Drone das Erstellen von Webhooks und den Zugriff auf die Repositories zu ermöglichen.
Wie kann ich meine Drone CI-Installation skalieren?
Um Ihre Drone CI-Installation zu skalieren, können Sie mehrere Instanzen des Drone-Servers hinter einem Lastenausgleich betreiben. Diese Konfiguration sorgt für eine bessere Leistung bei hoher Nutzung. Passen Sie die docker-compose.yml-Datei für die Skalierung an und ziehen Sie in Betracht, eine PostgreSQL-Datenbank für die Persistenz und Clusterbildung zu verwenden. Überprüfen Sie die offizielle Dokumentation von Drone oder Community-Ressourcen wie r/selfhosted für fortgeschrittene Skalierungsstrategien.
Fazit
Das Selbst-Hosting von Drone CI auf einem VPS ist eine leistungsstarke Möglichkeit, Ihre CI/CD-Strategie zu verbessern. Indem Sie diesem Leitfaden folgen, haben Sie eine funktionale Umgebung eingerichtet, die auf Ihre Entwicklungsbedürfnisse zugeschnitten ist. Für weitere Details zur Auswahl der besten VPS-Anbieter für Ihr Projekt, sehen Sie sich unseren vollständigen VPS-Vergleich an.