À propos des exécuteurs auto-hébergés pour les Dependabot updates
Vous pouvez aider les utilisateurs de votre instance GitHub Enterprise Server à créer et à gérer le code sécurisé en configurant la sécurité et les mises à jour de version de Dependabot. Avec les Dependabot updates, les développeurs peuvent configurer des dépôts afin de tenir automatiquement à jour et en sécurité leurs dépendances. Pour plus d’informations, consultez « Activation de Dependabot pour votre entreprise ».
Pour utiliser les Dependabot updates sur votre instance GitHub Enterprise Server, vous devez configurer des exécuteurs auto-hébergés afin de créer les demandes de tirage (pull requests) mettant à jour les dépendances.
Prérequis
La configuration des exécuteurs autohébergés n’est qu’une étape intermédiaire du processus d’activation des Dependabot updates. Il existe plusieurs étapes à suivre avant celles-ci, avec notamment la configuration de votre instance GitHub Enterprise Server pour utiliser GitHub Actions avec des exécuteurs auto-hébergés. Pour plus d’informations, consultez « Activation de Dependabot pour votre entreprise ».
Configuration d’exécuteurs auto-hébergés pour les Dependabot updates
Après avoir configuré votre instance GitHub Enterprise Server pour utiliser GitHub Actions, vous devez ajouter des exécuteurs auto-hébergés pour les Dependabot updates.
Configuration système requise pour les exécuteurs Dependabot
Les machines virtuelles que vous utilisez pour les exécuteurs Dependabot doivent toutes respecter la configuration requise pour les exécuteurs auto-hébergés. Par ailleurs, elles doivent satisfaire les exigences suivantes.
-
Système d’exploitation Linux
-
Architecture x64
-
Docker installé avec un accès pour les utilisateurs des exécuteurs :
- Nous vous recommandons d’installer Docker en mode sans racine et de configurer les exécuteurs de sorte qu’ils puissent accéder à Docker sans privilèges
root
. - Vous pouvez aussi installer Docker et accorder aux utilisateurs des exécuteurs des privilèges accrus pour exécuter Docker.
- Nous vous recommandons d’installer Docker en mode sans racine et de configurer les exécuteurs de sorte qu’ils puissent accéder à Docker sans privilèges
Les besoins en processeur et mémoire dépendent du nombre d’exécuteurs simultanés que vous déployez sur une machine virtuelle donnée. Pour indication, nous avons installé avec succès 20 exécuteurs sur un ordinateur à 2 processeurs de 8 Go, mais en fin de compte, vos besoins en processeur et mémoire varieront fortement en fonction des dépôts qui sont mis à jour. Certains écosystèmes demandent plus de ressources que d’autres.
Si vous spécifiez plus de 14 exécuteurs simultanés sur une machine virtuelle, vous devez aussi mettre à jour la configuration /etc/docker/daemon.json
Docker pour accroître le nombre de réseaux par défaut que Docker peut créer.
{
"default-address-pools": [
{"base":"10.10.0.0/16","size":24}
]
}
Configuration réseau requise pour les exécuteurs Dependabot
Les exécuteurs Dependabot nécessitent un accès à l’Internet public, GitHub.com, et aux registres internes qui seront utilisés dans les mises à jour Dependabot. Pour limiter les risques sur votre réseau interne, vous devez limiter l’accès de la machine virtuelle à votre réseau interne. Cela réduit les risques de dommages que pourraient subir vos systèmes internes si un exécuteur venait à télécharger une dépendance détournée.
Configuration du certificat pour les exécuteurs Dependabot
Si votre instance GitHub Enterprise Server utilise un certificat auto-signé ou si Dependabot doit interagir avec les registres qui utilisent des certificats auto-signés, ces certificats doivent également être installés sur les exécuteurs auto-hébergés qui exécutent des travaux Dependabot. Cette sécurité renforce la connexion. Vous devez configurer Node.js pour utiliser le certificat, car la plupart des actions sont écrites en JavaScript et exécutées avec Node.js, qui n’utilise pas le magasin de certificats du système d’exploitation.
Ajout d’exécuteurs auto-hébergés pour les mises à jour Dependabot
-
Provisionnez des exécuteurs auto-hébergés au niveau du dépôt, de l’organisation ou du compte d’entreprise. Pour plus d’informations, consultez « À propos des exécuteurs auto-hébergés » et « Ajout d’exécuteurs auto-hébergés ».
-
Installez les exécuteurs auto-hébergés en respectant les exigences décrites ci-dessus. Par exemple, sur une machine virtuelle exécutant Ubuntu 20.04, vous devez :
- Installer Docker et vérifiez que les utilisateurs d’exécuteurs ont accès à Docker. Pour plus d’informations, consultez la documentation Docker.
- Install Docker Engine on Ubuntu
- Approche recommandée : Exécuter le démon Docker en tant qu’utilisateur non racine (mode sans racine)
- Autre approche : Gérer Docker en tant qu’utilisateur non racine
- Vérifiez que les exécuteurs ont accès à l’Internet public et ne peuvent accéder qu’aux réseaux internes dont a besoin Dependabot.
- Installez tous les certificats auto-signés pour votre instance GitHub Enterprise Server ou pour les registres avec lesquels Dependabot devra interagir.
- Configurez Node.js pour utiliser le même certificat. Pour plus d’informations, consultez « Résolution des problèmes liés à GitHub Actions pour votre entreprise ».
- Installer Docker et vérifiez que les utilisateurs d’exécuteurs ont accès à Docker. Pour plus d’informations, consultez la documentation Docker.
-
Attribuez une étiquette
dependabot
à chaque exécuteur que doit utiliser Dependabot. Pour plus d’informations, consultez « Utilisation d’étiquettes avec des exécuteurs auto-hébergés ». -
Si vous le souhaitez, permettez aux workflows déclenchés par Dependabot d’utiliser plus que des autorisations en lecture seule et d’avoir accès aux secrets normalement disponibles. Pour plus d’informations, consultez « Résolution des problèmes liés à GitHub Actions pour votre entreprise ».