In Arbeit: ein eigener GitHub-Runner als Portainer-Stack
Ein selbst gehosteter GitHub-Actions-Runner als einzelner Portainer-Stack, der lange CI-Jobs auf eigene Hardware holt. Noch in Arbeit.
von NoiXdev
Ihr schaut auf die Actions-Rechnung und seht, dass fast alles von einem einzigen Job kommt. Meist sind es die Browser-Tests. Genau diesen Job holt das Projekt auf eure eigene Maschine.
Der Portainer GitHub Runner packt einen eigenen Runner in einen Portainer-Stack. Repository eintragen, Variablen füllen, deployen. Die schnellen Jobs bleiben bei GitHub. So bekommt ein Push auch dann ein Ergebnis, wenn euer Server aus ist.
Gleich vorweg: Das Projekt ist noch in Arbeit. Bisher ist noch kein Job vollständig darauf durchgelaufen. Und der Runner nutzt den Docker-Socket des Hosts, das ist Root auf dieser Maschine. Für private Repositories mit Leuten, denen ihr vertraut, ist das vertretbar. Für öffentliche nicht.
Was es kann
- Ein Stack. Zwei Dienste und ein Variablenblock in Portainer, kein Build-Schritt.
- Ein eigenes Label. Nur die Jobs, die ihr dafür vorseht, landen hier.
- Räumt selbst auf. Alte Images, Build-Cache und gestoppte Container verschwinden regelmäßig. Volumes bleiben unangetastet.
- Kein Neustart mitten im Job. Der Stack meldet sich bei Watchtower ab.
Loslegen
Alles Weitere steht auf der Projektseite und in der Dokumentation. Lest den Abschnitt zur Sicherheit vor dem Deploy.