Comment Configurer un GitHub Runner Autohébergé
Exigences pour démarrer notre propre GitHub runner :
- Jeton PAT
- Nom de l'organisation
- Conteneur avec le github runner
- Hôte Docker
Mettons-le en place étape par étape. Pour le conteneur avec le github runner, nous utiliserons github-runner.
Obtenir un jeton PAT
- Allez sur la page Jetons d'Accès Personnel et cliquez sur Générer un nouveau jeton.
- Entrez le Nom du jeton, sélectionnez le Propriétaire de la ressource (nom de votre organisation) et l'Expiration (pour des raisons de sécurité, il vaut mieux ne pas utiliser une durée illimitée).
- Cliquez sur la flèche du côté droit des Autorisations de l'organisation.
- Sélectionnez
Accès : Lecture et écriture
pour les Runners autohébergés. - Cliquez maintenant sur Générer un jeton.
- Copiez le jeton généré (il commence par
github_pat_...
) dans un endroit sûr.
Obtenir le nom de l'organisation
Je suis le propriétaire de plusieurs organisations. Par exemple, j'utiliserai un runner autohébergé pour l'organisation fasthelp-ai.
Démarrer notre runner
Nous devrons probablement modifier les droits pour docker.sock, car notre runner aura besoin d'accéder à docker.sock. Il est possible de le faire via cette commande dans le terminal. Dans le cas de debian/ubuntu :
shell
sudo chmod 666 /var/run/docker.sock
Option 1 : docker en une ligne
Maintenant, nous pouvons utiliser notre jeton PAT, le nom de l'organisation, et un nom optionnel.
shell
docker run --rm \
-e ORG=fasthelp-ai \
-e ACCESS_TOKEN=github_pat_... \
-e NAME=hetzner-1 \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/romnovi/github-runner:main
Option 2 : docker compose
shell
services:
runner:
image: ghcr.io/romnovi/github-runner:main
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- ORG=fasthelp-ai
- ACCESS_TOKEN=github_pat_...
- NAME=hetzner-1
Vérification
Après avoir démarré le runner, nous pouvons vérifier son statut sur la page des paramètres de l'organisation : Actions -> Runners.