Pour améliorer la façon dont ils expédient les logiciels de manière évolutive et efficace, GitHub a adopté GitHub Actions pour une partie de son système d’intégration continue. En particulier, ils ont tiré parti du nouveau Actions des coureurs plus grands pour pouvoir exécuter 15 000 tâches CI sur 150 000 cœurs. Ce faisant, ils ont également étendu les capacités des coureurs plus grands à tous leurs utilisateurs.
Cela nous a donné l’opportunité non seulement de passer à un système CI complet, mais également de développer, d’expérimenter et d’utiliser les systèmes que nous créons pour nos clients et de recueillir des commentaires pour nous aider à construire le produit.
Les ingénieurs GitHub ont utilisé quelques fonctionnalités clés fournies par les actions GitHub, telles que flux de travail réutilisableset créé une nouvelle fonctionnalité qui permet aux flux de travail de réutiliser les résultats précédents.
Les workflows réutilisables sont destinés à fournir un mécanisme permettant de gérer un ensemble de workflows dans un seul référentiel afin qu’ils puissent être réutilisés dans d’autres référentiels. Cela était essentiel pour rendre transparent le processus d’ajout de CI à un référentiel, qui aurait autrement nécessité la création de nouveaux flux de travail pour chaque référentiel.
La réutilisation des résultats de workflow précédents est plutôt un mécanisme d’optimisation qui empêche l’exécution d’un workflow lorsque le contenu du fichier d’un dépôt est exactement le même que lors d’une exécution précédente du workflow. Cela se produit lorsque l’ID de l’arborescence Git du commit actuel est le même que celui du commit précédent. Dans de tels cas, l’exécution du flux de travail produirait exactement le même résultat. Ainsi, au lieu de l’exécuter à nouveau, les résultats de l’exécution précédente sont réutilisés.
Une dernière exigence que les ingénieurs de GitHub ont dû résoudre était de permettre aux grands exécuteurs d’accéder à une partie de leur infrastructure privée, qui pourrait inclure le stockage d’artefacts, les services de métadonnées d’application et d’autres services permettant d’invoquer un harnais de test. Cela a conduit à la création d’une passerelle permettant aux coureurs d’accéder à des ressources privées tout en préservant la sécurité.
Cette solution d’accès à distance fonctionne sur le principe de la création d’un jeton OIDC dans GitHub Actions, en passant le jeton OIDC à une passerelle d’accès à distance qui autorise la demande en validant le jeton OIDC, puis en transmettant la demande au service privé résidant dans un réseau privé. .
Si vous souhaitez utiliser la même approche pour vos coureurs, GitHub a fourni un échafaudage de base d’une passerelle mettant en œuvre cette approche.
2023-10-07 10:01:37
1696663304
#GitHub #utilisant #des #actions #des #coureurs #pour #GitHub.com