Konfiguration eines GitHub Actions Runners auf einem Mac Mini (Apple Silicon)
GitHub Actions ist eine leistungsstarke CI/CD-Plattform, die es Ihnen ermöglicht, Ihre Software-Entwicklungsworkflows zu automatisieren. Während GitHub gehostete Runner anbietet, bieten selbst-gehostete Runner erhöhte Kontrolle und Anpassung für Ihr CI/CD-Setup. Dieses Tutorial führt Sie durch die Einrichtung, Konfiguration und Verbindung eines selbst-gehosteten Runners auf einem Mac mini zur Ausführung von macOS-Pipelines.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie haben:
- Einen Mac mini (registrieren Sie sich bei Macfleet)
- Ein GitHub-Repository mit Administratorrechten
- Einen installierten Paketmanager (vorzugsweise Homebrew)
- Git auf Ihrem System installiert
Schritt 1: Ein dediziertes Benutzerkonto erstellen
Erstellen Sie zunächst ein dediziertes Benutzerkonto für den GitHub Actions Runner:
# Das 'gh-runner' Benutzerkonto erstellen
sudo dscl . -create /Users/gh-runner
sudo dscl . -create /Users/gh-runner UserShell /bin/bash
sudo dscl . -create /Users/gh-runner RealName "GitHub runner"
sudo dscl . -create /Users/gh-runner UniqueID "1001"
sudo dscl . -create /Users/gh-runner PrimaryGroupID 20
sudo dscl . -create /Users/gh-runner NFSHomeDirectory /Users/gh-runner
# Das Passwort für den Benutzer setzen
sudo dscl . -passwd /Users/gh-runner ihr_passwort
# 'gh-runner' zur 'admin'-Gruppe hinzufügen
sudo dscl . -append /Groups/admin GroupMembership gh-runner
Wechseln Sie zum neuen Benutzerkonto:
su gh-runner
Schritt 2: Erforderliche Software installieren
Installieren Sie Git und Rosetta 2 (wenn Sie Apple Silicon verwenden):
# Git installieren, falls noch nicht installiert
brew install git
# Rosetta 2 für Apple Silicon Macs installieren
softwareupdate --install-rosetta
Schritt 3: Den GitHub Actions Runner konfigurieren
- Gehen Sie zu Ihrem GitHub-Repository
- Navigieren Sie zu Einstellungen > Actions > Runners
- Klicken Sie auf "New self-hosted runner" (
https://github.com/<username>/<repository>/settings/actions/runners/new
) - Wählen Sie macOS als Runner-Image und ARM64 als Architektur
- Folgen Sie den bereitgestellten Befehlen, um den Runner herunterzuladen und zu konfigurieren
Erstellen Sie eine .env
-Datei im _work
-Verzeichnis des Runners:
# _work/.env Datei
ImageOS=macos15
XCODE_15_DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
- Führen Sie das run.sh-Skript in Ihrem Runner-Verzeichnis aus, um die Einrichtung abzuschließen.
- Überprüfen Sie, dass der Runner aktiv ist und auf Jobs im Terminal wartet, und überprüfen Sie die GitHub-Repository-Einstellungen für die Runner-Zuordnung und den Idle-Status.
Schritt 4: Sudoers konfigurieren (Optional)
Wenn Ihre Actions Root-Privilegien benötigen, konfigurieren Sie die sudoers-Datei:
sudo visudo
Fügen Sie die folgende Zeile hinzu:
gh-runner ALL=(ALL) NOPASSWD: ALL
Schritt 5: Den Runner in Workflows verwenden
Konfigurieren Sie Ihren GitHub Actions Workflow, um den selbst-gehosteten Runner zu verwenden:
name: Beispiel-Workflow
on:
workflow_dispatch:
jobs:
build:
runs-on: [self-hosted, macOS, ARM64]
steps:
- name: NodeJS installieren
run: brew install node
Der Runner ist bei Ihrem Repository authentifiziert und mit self-hosted
, macOS
und ARM64
markiert. Verwenden Sie ihn in Ihren Workflows, indem Sie diese Labels im runs-on
-Feld angeben:
runs-on: [self-hosted, macOS, ARM64]
Best Practices
- Halten Sie Ihre Runner-Software auf dem neuesten Stand
- Überwachen Sie regelmäßig Runner-Logs auf Probleme
- Verwenden Sie spezifische Labels für verschiedene Runner-Typen
- Implementieren Sie angemessene Sicherheitsmaßnahmen
- Erwägen Sie die Verwendung mehrerer Runner für Lastverteilung
Fehlerbehebung
Häufige Probleme und Lösungen:
-
Runner verbindet sich nicht:
- Überprüfen Sie die Netzwerkverbindung
- Überprüfen Sie die Gültigkeit des GitHub-Tokens
- Stellen Sie angemessene Berechtigungen sicher
-
Build-Fehler:
- Überprüfen Sie die Xcode-Installation
- Überprüfen Sie erforderliche Abhängigkeiten
- Überprüfen Sie Workflow-Logs
-
Berechtigungsprobleme:
- Überprüfen Sie Benutzerberechtigungen
- Überprüfen Sie sudoers-Konfiguration
- Überprüfen Sie Dateisystem-Berechtigungen
Fazit
Sie haben jetzt einen selbst-gehosteten GitHub Actions Runner auf Ihrem Mac mini konfiguriert. Diese Einrichtung bietet Ihnen mehr Kontrolle über Ihre CI/CD-Umgebung und ermöglicht es Ihnen, macOS-spezifische Workflows effizient auszuführen.
Denken Sie daran, Ihren Runner regelmäßig zu warten und ihn mit den neuesten Sicherheitspatches und Software-Versionen auf dem neuesten Stand zu halten.