nick_invision.macos_github_actions_runner
macos-github-actions-runner
Este rol instalará un corredor autoalojado de GitHub Actions a nivel de organización o repositorio en MacOS/MacOSX. Realizará una instalación limpia, reinstalará si se desea, reinstalará si el servicio no está funcionando, o desinstalará. Está inspirado en gran medida por ansible-github_actions_runner, pero modificado para funcionar con MacOS.
Requisitos
Este rol solo debe ser utilizado en MacOS 10.13 (High Sierra) o versiones más recientes.
Se requieren las siguientes variables de entorno:
PERSONAL_ACCESS_TOKEN
- Token de acceso personal (PAT) de GitHub con el alcancerepo
si se está agregando un corredor de repositorio o con el alcanceadmin:org
si se está agregando un corredor de organización.
Se requieren las siguientes variables:
github_account
- El nombre de cuenta de GitHub (sensible a mayúsculas y minúsculas). Este puede ser el nombre de usuario de GitHub, o el nombre de la organización de GitHub.access_token
- Esto es opcional y reemplaza a la variable de entornoPERSONAL_ACCESS_TOKEN
.
Variables del Rol
Valores por defecto (de defaults/main.yml
):
# Usuario del corredor - usuario bajo el cual se está ejecutando el servicio del corredor local
runner_user: "vagrant"
# Directorio donde se instalará el corredor local
runner_dir: ~/actions-runner
# Versión del corredor de GitHub Actions
runner_version: "latest"
# Si se encuentra en el servidor, eliminar el servicio del corredor ya existente e instalarlo nuevamente
reinstall_runner: no
# No mostrar registros de Ansible que pueden contener datos sensibles (token de registro)
hide_sensitive_logs: yes
# Dirección de GitHub
github_url: "https://github.com"
# API de GitHub
github_api_url: "https://api.github.com"
# Token de acceso personal para tu cuenta de GitHub
access_token: "{{ lookup('env', 'PERSONAL_ACCESS_TOKEN') }}"
# ¿Es el corredor para una organización o no?
runner_org: no
# Nombre que asignar a este corredor en GitHub (nombre del host del sistema como defecto)
runner_name: "{{ hostname }}"
# Etiquetas para aplicar al corredor
runner_labels: []
# Directorio de trabajo para el corredor
runner_work_dir: "_work"
# Argumentos adicionales a pasar a `config.sh`
runner_extra_config_args: ""
Dependencias
Ninguna
Ejemplo de Playbook
Para configurar un corredor autoalojado de GitHub a nivel de repositorio:
- name: Instalar corredor de 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
Para configurar un corredor autoalojado de GitHub a nivel de organización:
- name: Instalar corredor de 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
Para configurar un corredor autoalojado de GitHub con varias modificaciones:
- name: Instalar corredor de 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
Licencia
MIT
Deploy Github Actions self-hosted runner on MacOS
ansible-galaxy install nick_invision.macos_github_actions_runner