Docs de Autonomy
Ayuda

Runners en tus máquinas

Instala, actualiza y comprueba un runner en tu propia máquina, incluida la pantalla virtual en Linux.

Un runner es la máquina que aloja el navegador, el dispositivo o el cliente HTTP que usa una ejecución. En los planes de autoservicio, todas las ejecuciones usan los runners de Autonomy y no hay nada que instalar.

En Enterprise, las ejecuciones también pueden realizarse en tus propias máquinas: dentro de tu red, junto a un entorno privado. Esta página es para las personas que se ocupan de esas máquinas.

Qué necesitas

HostWeb y APIAndroidiOS (próximamente)
Linux (x86_64 o arm64)SíCon el Android SDK y un emulador o dispositivoNo
macOS (Intel o Apple silicon)SíCon las herramientas de AndroidCon Xcode y un simulador de iOS
  • Solo HTTPS saliente. El runner se conecta a Autonomy; nada se conecta a él.
  • En Linux, un emulador de Android necesita un host x86_64 con KVM (/dev/kvm). Un host con 4 vCPU y 8 GB de RAM ejecuta un emulador.
  • Xcode y los simuladores de iOS no se instalan automáticamente. Son para las pruebas en iOS, que llegarán pronto.

Autonomy registra tu runner para tu organización y te envía tres cosas: la URL de instalación, un token de instalación y un token del runner (rn_…). El token del runner se muestra una sola vez. Guárdalo como una contraseña.

Instalación

Ejecuta esto con el usuario con el que se ejecutará el runner:

export AUTONOMY_INSTALL_TOKEN="<install token>"
curl -fsSL "<install URL>/install.sh" \
  | bash -s -- --yes --base-url "<install URL>"

El instalador configura el entorno de ejecución, el navegador y las herramientas de dispositivo, y el comando autonomy-labs en ~/.local/bin. En Linux también instala Xvfb, la pantalla virtual que necesita el navegador (ver más abajo).

Después, pon el token del runner y los ajustes que te envió Autonomy en ~/.autonomy/labs/.env, y haz que el archivo sea privado:

chmod 600 ~/.autonomy/labs/.env
autonomy-labs doctor

Mantenerlo en marcha

En Linux, ejecútalo como servicio:

autonomy-labs service install
autonomy-labs service start
autonomy-labs service status
autonomy-labs logs

En macOS, ejecuta autonomy-labs --poll desde un LaunchAgent con el mismo usuario propietario de ~/.autonomy/labs.

Comprobar un runner

autonomy-labs doctor comprueba todo lo que necesita una ejecución y termina con 0 cuando el runner está listo. Añade --json para obtener un informe legible por máquina. En Linux sin pantalla, comprueba virtual display (Xvfb) y después que un headed browser opens a page.

autonomy-labs --version muestra el build instalado.

Pantalla virtual en Linux

Las ejecuciones usan Chrome con interfaz gráfica (headed), porque muchos sitios bloquean los navegadores headless como si fueran bots. En un servidor Linux sin pantalla, el runner inicia su propia pantalla virtual con Xvfb cuando DISPLAY no está definido. Si el host ya tiene una pantalla, el runner la usa.

El instalador instala Xvfb con tu gestor de paquetes (apt-get, dnf, pacman o zypper). Si no puede, muestra el comando que debes ejecutar como root. Hasta que Xvfb esté instalado, el runner rechaza las ejecuciones web en lugar de aceptarlas y fallar:

sudo apt-get install -y xvfb
autonomy-labs service restart

Actualizar

autonomy-labs update

La actualización espera a que terminen la ejecución en curso y su limpieza antes de sustituir el runner. Nunca interrumpe una ejecución. Después reinstala el navegador y las herramientas de dispositivo y vuelve a ejecutar doctor. Para actualizar solo las herramientas, ejecuta autonomy-labs --update-tools.

Cuando un runner se detiene

Código de salidaSignificado
0Se detuvo a propósito, por ejemplo para una actualización.
75Un problema temporal. El servicio lo reinicia.
78No puede trabajar hasta que alguien arregle el host: un token o unos ajustes incorrectos, falta de pantalla o de navegador, o una actualización sin terminar. El servicio no lo reinicia en bucle. Ejecuta autonomy-labs doctor para ver qué pasa.

Una ejecución que un runner toma pero no puede comenzar por un problema en el runner termina como Couldn't start, no se factura y dice "This run couldn't start because the runner had a problem. Run it again."

Los propietarios y administradores pueden activar Infrastructure alert en Organization → Notifications para recibir avisos sobre problemas de capacidad de runners y dispositivos.

¿No lo encontraste?

On this page