Docs Autonomy
Aide

Runners auto-hébergés

Installez, mettez à jour et vérifiez un runner sur votre propre machine, y compris l'affichage virtuel sous Linux.

Un runner est la machine qui héberge le navigateur, l'appareil ou le client HTTP qu'utilise une exécution. Sur les offres en libre-service, toutes les exécutions utilisent les runners d'Autonomy et il n'y a rien à installer.

Avec l'offre Enterprise, les exécutions peuvent aussi tourner sur vos propres machines : dans votre réseau, à côté d'un environnement privé. Cette page s'adresse aux personnes qui s'occupent de ces machines.

Prérequis

HôteWeb et APIAndroidiOS (bientôt disponible)
Linux (x86_64 ou arm64)OuiAvec le SDK Android et un émulateur ou un appareilNon
macOS (Intel ou Apple silicon)OuiAvec les outils AndroidAvec Xcode et un simulateur iOS
  • HTTPS sortant uniquement. Le runner se connecte à Autonomy ; rien ne se connecte à lui.
  • Sous Linux, un émulateur Android nécessite un hôte x86_64 avec KVM (/dev/kvm). Un hôte avec 4 vCPU et 8 Go de RAM fait tourner un émulateur.
  • Xcode et les simulateurs iOS ne sont pas installés pour vous. Ils servent aux tests iOS, qui arrivent bientôt.

Autonomy enregistre votre runner pour votre organisation et vous envoie trois éléments : l'URL d'installation, un jeton d'installation et un jeton de runner (rn_…). Le jeton de runner n'est affiché qu'une fois. Conservez-le comme un mot de passe.

Installation

Lancez cette commande avec l'utilisateur sous lequel le runner tournera :

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

Le programme d'installation met en place l'environnement d'exécution, les outils de navigateur et d'appareil, et la commande autonomy-labs dans ~/.local/bin. Sous Linux, il installe aussi Xvfb, l'affichage virtuel dont le navigateur a besoin (voir plus bas).

Placez ensuite le jeton de runner et les paramètres envoyés par Autonomy dans ~/.autonomy/labs/.env, et rendez le fichier privé :

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

Le maintenir en marche

Sous Linux, exécutez-le comme service :

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

Sous macOS, lancez autonomy-labs --poll depuis un LaunchAgent, avec l'utilisateur propriétaire de ~/.autonomy/labs.

Vérifier un runner

autonomy-labs doctor vérifie tout ce dont une exécution a besoin et se termine avec le code 0 quand le runner est prêt. Ajoutez --json pour obtenir un rapport lisible par une machine. Sous Linux sans écran, il vérifie l'affichage virtuel (Xvfb), puis qu'un navigateur avec interface ouvre une page.

autonomy-labs --version affiche la version installée.

Affichage virtuel sous Linux

Les exécutions utilisent Chrome avec interface graphique, car de nombreux sites bloquent les navigateurs headless comme des robots. Sur un serveur Linux sans écran, le runner démarre son propre affichage virtuel avec Xvfb quand DISPLAY n'est pas défini. Si l'hôte dispose déjà d'un affichage, le runner l'utilise.

Le programme d'installation installe Xvfb avec votre gestionnaire de paquets (apt-get, dnf, pacman ou zypper). S'il n'y parvient pas, il affiche la commande à lancer en root. Tant que Xvfb n'est pas installé, le runner refuse les exécutions web plutôt que de les accepter pour ensuite échouer :

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

Mise à jour

autonomy-labs update

La mise à jour attend la fin de l'exécution en cours, et de son nettoyage, avant de remplacer le runner. Elle n'interrompt jamais une exécution. Ensuite, elle réinstalle les outils de navigateur et d'appareil et relance doctor. Pour ne mettre à jour que les outils, lancez autonomy-labs --update-tools.

Quand un runner s'arrête

Code de sortieSignification
0Arrêt volontaire, par exemple pour une mise à jour.
75Un problème temporaire. Le service le redémarre.
78Il ne peut plus traiter de travail tant que quelqu'un n'a pas réparé l'hôte : jeton ou paramètres incorrects, pas d'affichage ni de navigateur, ou mise à jour inachevée. Le service ne le redémarre pas en boucle. Lancez autonomy-labs doctor pour voir ce qui ne va pas.

Une exécution qu'un runner prend en charge mais ne peut pas commencer à cause d'un problème sur le runner se termine en Couldn't start, n'est pas facturée et affiche « Cette exécution n'a pas pu démarrer car le runner a rencontré un problème. Relancez-la. »

Les propriétaires et les administrateurs peuvent activer Infrastructure alert dans Organization → Notifications pour être prévenus des problèmes de capacité des runners et des appareils.

Vous n’avez pas trouvé ?

On this page