Guía
Runner autoalojado de GitHub Actions en un Mac mini
Configure un runner autoalojado de GitHub Actions en un Mac mini dedicado. Instale Xcode, registre el runner, ejecútelo como servicio y mantenga los builds rápidos y privados.
30 minutos, actualizado el 2026-09-15
Los runners de macOS alojados por GitHub son máquinas compartidas. Hacen cola en horas punta, arrancan en frío cada vez y facturan por minuto.
Un runner autoalojado en su propio Mac mini arranca al instante, conserva sus cachés entre builds y cuesta lo mismo cada mes.
Esta guía lleva unos treinta minutos. Necesita:
- Un Mac mini con Apple silicon y acceso SSH
- Permisos de administrador en el repositorio u organización de GitHub
- Un Apple ID, para descargar Xcode
1. Preparar el Mac
Inicie sesión por SSH e impida que el Mac entre en reposo:
sudo pmset -a sleep 0 disksleep 0 displaysleep 0Instale Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Recomendamos un usuario aparte para el runner, para que los builds nunca se ejecuten con su cuenta de administrador:
sudo sysadminctl -addUser runner -fullName "CI Runner" -password -Inicie sesión con ese usuario para los pasos siguientes.
2. Instalar Xcode
La forma más sencilla por SSH es `xcodes`:
brew install xcodesorg/made/xcodes
xcodes install --latest
xcodes selectAcepte la licencia y complete el primer arranque:
sudo xcodebuild -license accept
xcodebuild -runFirstLaunch
xcodebuild -downloadPlatform iOS3. Registrar el runner
En GitHub, abra su repositorio y vaya a Settings, Actions, Runners, New self-hosted runner. Elija macOS y ARM64.
GitHub muestra los comandos exactos, con la versión actual y un token. Son de este tipo:
mkdir actions-runner && cd actions-runner
curl -o actions-runner-osx-arm64.tar.gz -L <download URL from GitHub>
tar xzf ./actions-runner-osx-arm64.tar.gz
./config.sh --url https://github.com/<owner>/<repo> --token <token>El token caduca al cabo de una hora, así que registre el runner enseguida. Cuando `config.sh` pida etiquetas, añada las que vaya a usar en los workflows, como `xcode` o `m4`.
4. Ejecutarlo como servicio
./svc.sh install
./svc.sh start
./svc.sh statusEl runner arranca ahora con la sesión del usuario. Si sus jobs ejecutan pruebas de interfaz o necesitan el llavero de inicio de sesión, active el inicio de sesión automático para el usuario del runner en Ajustes del Sistema, Usuarios y grupos. Puede hacerlo mediante Compartir pantalla. El inicio de sesión automático no está disponible mientras FileVault está activado.
5. Usarlo en un workflow
name: iOS build
on: [push]
jobs:
build:
runs-on: [self-hosted, macOS, ARM64]
steps:
- uses: actions/checkout@v4
- name: Build
run: xcodebuild -scheme MyApp -destination 'generic/platform=iOS Simulator' buildHaga push de un commit. El job aparece en Actions y arranca en su Mac en cuestión de segundos.
6. Mantenerlo en buen estado
- Solo repositorios privados. En un repositorio público, una pull request desde un fork puede ejecutar código en su Mac. GitHub desaconseja los runners autoalojados en repositorios públicos.
- Haga limpieza de vez en cuando. DerivedData y los simuladores antiguos crecen con el tiempo:
rm -rf ~/Library/Developer/Xcode/DerivedData
xcrun simctl delete unavailable- Firma. Guarde los certificados en un llavero dedicado, o use fastlane match.
- Actualizaciones. El runner se actualiza solo por defecto. Actualice Xcode cuando usted decida, no en mitad de una release.
Por qué un Mac mini dedicado
- Nadie más lo usa. Los builds arrancan en cuanto hace push.
- Cachés calientes. DerivedData, los paquetes de Swift y CocoaPods se quedan en disco, así que los builds incrementales son mucho más rápidos.
- Chips reales. Pruebe en el mismo Apple silicon que tienen sus usuarios.
- Una tarifa mensual fija. Sin facturación por minuto, sin sorpresas al final de un sprint intenso.
MacDuty tiene en sus racks en la UE Mac mini del M1 al M6, con macOS instalado. Añada su clave SSH desde el área de cliente.
En stock hoy
Estos están en el rack ahora. Elija uno, vea qué incluye y cree su cuenta solo cuando haga el pedido.
Consultando los racks
Un Mac mini propio
Elija una configuración. Si no está disponible, deje su correo y le escribimos el día en que esté en el rack.
Anual: al menos un 19 % menos que pagando al mes
Siguiente