Skip to content

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

  1. Allez sur la page Jetons d'Accès Personnel et cliquez sur Générer un nouveau jeton. pat_1
  2. 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). pat_2
  3. Cliquez sur la flèche du côté droit des Autorisations de l'organisation. pat_3
  4. Sélectionnez Accès : Lecture et écriture pour les Runners autohébergés. pat_4
  5. Cliquez maintenant sur Générer un jeton. pat_5
  6. 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. org_1

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. check_1