nick_invision.macos_github_actions_runner
macos-github-actions-runner
Diese Rolle installiert einen selbst gehosteten GitHub Actions Runner auf einem MacOS/MacOSX, entweder auf Org- oder Repo-Ebene. Sie führt eine saubere Installation durch, installiert neu, wenn gewünscht, installiert neu, wenn der Dienst nicht läuft, oder deinstalliert. Diese Implementierung ist stark inspiriert von ansible-github_actions_runner, wurde aber modifiziert, um mit MacOS zu funktionieren.
Anforderungen
Diese Rolle sollte nur auf MacOS 10.13 (High Sierra) oder neuer verwendet werden.
Die folgenden Umgebungsvariablen sind erforderlich:
PERSONAL_ACCESS_TOKEN
- GitHub PAT mitrepo
-Bereich, wenn ein Repo-Runner hinzugefügt wird, oderadmin:org
-Bereich, wenn ein Org-Runner hinzugefügt wird.
Die folgenden Variablen sind erforderlich:
github_account
- Der Groß-/Kleinschreibung empfindliche Name des GitHub-Kontos. Dies kann der Benutzername von GitHub oder der Name der GitHub-Organisation sein.access_token
- Dies ist optional und ersetzt die erforderliche UmgebungsvariablePERSONAL_ACCESS_TOKEN
.
Rollenspezifische Variablen
Standardwerte (aus defaults/main.yml
):
# Runner-Benutzer - der Benutzer, unter dem der lokale Runner-Dienst läuft
runner_user: "vagrant"
# Verzeichnis, in dem der lokale Runner installiert wird
runner_dir: ~/actions-runner
# Version des GitHub Actions Runners
runner_version: "latest"
# Wenn auf dem Server gefunden, bestehenden Runner-Dienst löschen und erneut installieren
reinstall_runner: no
# Ansible-Protokolle, die sensitive Daten (Registrierungstoken) enthalten können, nicht anzeigen
hide_sensitive_logs: yes
# GitHub-Adresse
github_url: "https://github.com"
# GitHub API
github_api_url: "https://api.github.com"
# Persönliches Zugriffstoken für dein GitHub-Konto
access_token: "{{ lookup('env', 'PERSONAL_ACCESS_TOKEN') }}"
# Ist es der Runner für die Organisation oder nicht?
runner_org: no
# Name, der diesem Runner in GitHub zugewiesen werden soll (Standardmäßig der System-Hostname)
runner_name: "{{ hostname }}"
# Labels, die dem Runner zugewiesen werden
runner_labels: []
# Arbeitsverzeichnis für den Runner
runner_work_dir: "_work"
# Zusätzliche Argumente, die an `config.sh` übergeben werden
runner_extra_config_args: ""
Abhängigkeiten
Keine
Beispiel-Playbook
Um einen Repo-Ebene GitHub selbst gehosteten Runner zu konfigurieren:
- name: GitHub Actions Runner installieren
hosts: macs
user: ansible
become: yes
vars:
- github_account: github-access-user
- github_repo: my_awesome_repo
roles:
- role: nick-invision.macos_github_actions_runner
Um einen Org-Ebene GitHub selbst gehosteten Runner zu konfigurieren:
- name: GitHub Actions Runner installieren
hosts: macs
user: ansible
become: yes
vars:
- github_account: github-access-user
- runner_org: true
roles:
- role: nick-invision.macos_github_actions_runner
Um einen GitHub selbst gehosteten Runner mit verschiedenen Überschreibungen zu konfigurieren:
- name: GitHub Actions Runner installieren
hosts: macs
user: ansible
become: yes
vars:
- github_account: github-access-user
- runner_org: true
- runner_labels:
- some-label
- runner_version: 2.277.0
roles:
- role: nick-invision.macos_github_actions_runner
Lizenz
MIT
ansible-galaxy install nick_invision.macos_github_actions_runner