So führen Sie Github-Aktions-Builds auf Ihren eigenen Servern mit selbst gehosteten Runnern aus

0
99

Github-Aktionen sind Automatisierungspipelines, die zum Ausführen von CI-Tests und Builds verwendet werden können . Es wird in der Cloud über die Server von Github ausgeführt, aber in einigen Fällen, z. B. bei intensiver Codekompilierung, ziehen Sie es möglicherweise vor, sie auf Ihren eigenen dedizierten Worker-Knoten auszuführen.

-level=”2″>Warum selbst gehostete Runner verwenden?

Einer der Hauptvorteile von Github Actions ist, dass es kostenlos und gut in das System von Github integriert ist. Das Erstellen neuer Commits oder Release-Tags löst direkt eine Aktionspipeline aus, wenn Sie dies so einrichten.

Github-Aktionen werden in “Minuten” und öffentliche Open-Source-Repositories haben eine unbegrenzte Anzahl von Minuten. Wenn Sie jedoch an einem privaten Repository arbeiten, haben Sie nur 2000 oder 3000 mit Github Pro- oder Teams-Plänen. Sie können direkt weitere Minuten kaufen oder auf Github Enterprise upgraden, das 50.000 enthält.

Github unterstützt jedoch auch die Möglichkeit, den Computer, auf dem die Pipeline ausgeführt wird, selbst zu hosten. Sie können jede Art von Maschine als selbst gehosteten Runner verwenden, einschließlich lokaler Maschinen, dedizierter Server oder Cloud-VPS-Instanzen. Dies kann sehr nützlich sein, besonders wenn Sie Ersatzhardware herumliegen haben.

Dies hat eine Reihe von Vorteilen, die über die Kosteneinsparungen für Workloads mit hoher Aktivität hinausgehen. Oft kann die Codekompilierung eine sehr intensive Aufgabe sein. Obwohl Github Actions-Builds nicht unbedingt träge sind, werden sie dennoch auf gemeinsam genutztem Cloud-Computing ausgeführt, sodass es für Sie von Vorteil sein kann, den Build auf einem hochleistungsfähigen dedizierten Server auszuführen. Dasselbe gilt für speicherintensive Anwendungen, die möglicherweise viel RAM benötigen, um fertig zu werden.

Werbung

Neben der Leistung ermöglicht Ihnen das Selbsthosten auch, die Umgebung für den Build zu steuern. Vielleicht müssen Sie lokale Server oder Software integrieren oder ein Betriebssystem ausführen, das nicht mit den Standard-Runnern von Github verfügbar ist (es unterstützt Linux, Windows und macOS, nur nicht spezifisch). Linux baut neben Ubuntu).

Einrichten eines selbst gehosteten Runners

Das Einrichten eines Runners ist ziemlich einfach. Grundsätzlich müssen Sie die Runner-Software auf Ihrem Computer installieren und mit Github verbinden. Sobald es verfügbar ist, können Sie bestimmte Github-Aktionen so konfigurieren, dass sie Ihren selbst gehosteten Runner anstelle der Standard-Runner verwenden.

Sie können Runner entweder zu einem bestimmten Repository oder zu einer Github-Organisation hinzufügen . Sie unternehmensweit hinzuzufügen ist im Allgemeinen viel nützlicher, aber die Einrichtung ist für beide gleich.

Gehen Sie zu den Einstellungen Ihrer Organisation und unter Aktionen > Läufer, fügen Sie einen neuen Läufer hinzu.

Github bietet Schritte dazu Richten Sie den Läufer hier ein und installieren Sie ihn. Sie können diese Befehle kopieren und einfügen, aber Sie können auch ein Docker-Image verwenden, wenn Sie es so ausführen möchten.

Im nächsten Abschnitt verknüpfen Sie es mit Github. Dies verwendet ein generiertes Token, damit es auf Ihr Konto zugreifen und den Runner verifizieren kann.

./config.sh –url https://github.com/Organization –token XXXXXX Advertisement

Sie können Wählen Sie auf diesem Bildschirm den Namen des Läufers, die Gruppe, der er zugewiesen ist, und alle damit verbundenen Labels. Diese können verwendet werden, um Läufer in Aktionskonfigurationen herauszufiltern.

Dann müssen Sie den Läufer starten. Wahrscheinlich möchten Sie dies unter tmux ausführen oder einen Dienst einrichten, um es automatisch auszuführen Einfachere Verwaltung

./run.sh

Wenn Sie ein öffentliches Repository verwenden, ist die Möglichkeit, selbst gehostete Runner zu verwenden, standardmäßig deaktiviert. Dies liegt daran, dass das Ausführen von Builds auf Ihrer eigenen Hardware ein potenzielles Sicherheitsrisiko darstellt, wenn Sie Builds für Pull-Requests von Drittanbietern ausführen. Wenn Sie keine Pull-Request-Builds durchführen, ist dies kein Problem, und Sie können es über die Standardeinstellung „Runner Group“ aktivieren. Einstellungen.

Dann können Sie die selbst gehosteten -Tag, damit Builds auf diesem Runner ausgeführt werden.

Der Runner sollte es fast sofort abholen.