Eigene Runner für GitHub Actions einrichten

Wer komplexe Projekte in GitHubs Actions umsetzen will, sprengt schnell die Rechenzeit-Kontingente. Hier können Runner auf eigener Hardware helfen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Eigene Runner für GitHub Actions einrichten

(Bild: alphaspirit/Shutterstock.com)

Lesezeit: 7 Min.
Von
  • Merlin Schumacher
Inhaltsverzeichnis

Ein großes Software-Projekt? Binaries für ARM? Eine iOS-App? Für diese Aufgaben ist GitHubs neue Funktion Actions bestens geeignet. Das sind die Fälle, in denen GitHubs Actions schnell an seine Grenzen stößt: Die für private Repositorys enthaltenen Minuten sind rasch aufgebraucht, Umgebungen auf ARM-Basis bietet GitHub selbst nicht an und die Anzahl der macOS-Jobs ist mager. Mit eigenen Runnern, also Rechnern, auf denen Actions-Jobs laufen können, umschifft man das Problem. Wer in seinen Projekten proprietäre Abhängigkeiten oder Testdaten verwendet, die nur intern bereitstehen, und trotzdem Actions einsetzen will, kann diese in den Runnern nutzen. Wenn man etwa ein paar ungenutzte Server im Schrank hat, kann man diese einsetzen und spart so vielleicht ein bisschen Geld. Oder man nimmt den Entwicklungsrechner, denn auf dem ist ohnehin schon alles Nötige installiert.

Die selbst gehosteten Runner können im Grunde all das ausführen, was auch GitHubs Runner in der Cloud können – wenn man die notwendige Software installiert hat. Als Betriebssysteme unterstützt GitHub Windows mit 64 Bit, macOS ab 10.13 und gängige Linux-Distributionen. Die Runner-Software läuft unter Linux nicht nur auf x86-CPUs, sondern auch auf ARM und ARM64. Für Raspi-Freunde erfreulich: Sie funktioniert auch auf dem nicht von GitHub unterstützten Raspbian.

Mit eigenen Runnern hat man volle Kontrolle über die Umgebung, in der Actions Jobs laufen.

Es gibt nur einen wichtigen Fallstrick beim Betrieb: Man sollte eigene Runner nur mit privaten Repositorys benutzen. Denn jeder, der einen Pull-Request für das eigene Repository einreicht, kann darüber beliebigen Code ausführen. Zwar läuft der Actions-Code innerhalb einer Sandbox, aber die ist auch kein Allheilmittel. Bei GitHubs Cloud-Servern ist das egal, denn die werden bei Bedarf erzeugt und am Ende rückstandslos vernichtet. Ob darin Exploits, Hacks oder Kryptominer laufen, ist GitHubs Problem. Laufen die Jobs auf Ihren Servern, ist es aber an Ihnen, diese Gefahren einzudämmen.