nick_invision.macos_github_actions_runner
macos-github-actions-runner
Ce rôle installera un runner GitHub Actions auto-hébergé à l'échelle de l'organisation ou du dépôt sur MacOS/MacOSX. Il effectuera une installation propre, réinstallera si souhaité, réinstallera si le service ne fonctionne pas, ou désinstallera. Inspiré fortement par ansible-github_actions_runner mais modifié pour fonctionner avec MacOS.
Exigences
Ce rôle ne doit être utilisé que sur MacOS 10.13 (High Sierra) ou une version plus récente.
Les variables d'environnement suivantes sont requises :
PERSONAL_ACCESS_TOKEN
- PAT GitHub avec la portéerepo
si vous ajoutez un runner de dépôt ou la portéeadmin:org
si vous ajoutez un runner d'organisation.
Les variables suivantes sont requises :
github_account
- Le nom de compte GitHub sensible à la casse. Il s'agit soit du nom d'utilisateur GitHub, soit du nom de l'organisation GitHub.access_token
- Ceci est optionnel et remplace la variable d'environnement requisePERSONAL_ACCESS_TOKEN
.
Variables du rôle
Défauts (de defaults/main.yml
) :
# Utilisateur du runner - utilisateur sous lequel le service local du runner fonctionne
runner_user: "vagrant"
# Répertoire où le runner local sera installé
runner_dir: ~/actions-runner
# Version du runner GitHub Actions
runner_version: "latest"
# Si trouvé sur le serveur, supprimer le service de runner existant et l'installer à nouveau
reinstall_runner: no
# Ne pas afficher les journaux Ansible qui peuvent contenir des données sensibles (token d'enregistrement)
hide_sensitive_logs: yes
# Adresse GitHub
github_url: "https://github.com"
# API GitHub
github_api_url: "https://api.github.com"
# Jeton d'accès personnel pour votre compte GitHub
access_token: "{{ lookup('env', 'PERSONAL_ACCESS_TOKEN') }}"
# Est-ce un runner pour l'organisation ou non ?
runner_org: no
# Nom à attribuer à ce runner dans GitHub (nom d'hôte système par défaut)
runner_name: "{{ hostname }}"
# Étiquettes à appliquer au runner
runner_labels: []
# Répertoire de travail pour le runner
runner_work_dir: "_work"
# Arguments supplémentaires à passer à `config.sh`
runner_extra_config_args: ""
Dépendances
Aucune
Exemple de Playbook
Pour configurer un runner GitHub auto-hébergé au niveau du dépôt :
- name: Installer le runner GitHub Actions
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
Pour configurer un runner GitHub auto-hébergé au niveau de l'organisation :
- name: Installer le runner GitHub Actions
hosts: macs
user: ansible
become: yes
vars:
- github_account: github-access-user
- runner_org: true
roles:
- role: nick-invision.macos_github_actions_runner
Pour configurer un runner GitHub auto-hébergé avec diverses options :
- name: Installer le runner GitHub Actions
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
Licence
MIT
Deploy Github Actions self-hosted runner on MacOS
ansible-galaxy install nick_invision.macos_github_actions_runner