À propos du stockage externe pour GitHub Actions
GitHub Actions utilise le stockage blob externe pour stocker les données générées par les exécutions de workflow. Les données stockées incluent les journaux de workflow, les caches, et les artefacts de build chargés par l’utilisateur. Pour plus d’informations, consultez « Bien démarrer avec GitHub Actions pour GitHub Enterprise Server ».
Il existe deux options pour configurer GitHub Enterprise Server en vue de se connecter à votre fournisseur de stockage externe :
- OpenID Connect (OIDC)
- Authentification traditionnelle basée sur des informations d’identification à l’aide de secrets
Nous vous recommandons d’utiliser OIDC dans la mesure du possible, car vous n’aurez pas besoin de créer ou de gérer des secrets d’informations d’identification sensibles et de longue durée pour votre fournisseur de stockage, et risquer qu’ils soient exposés. Après avoir défini une confiance avec OIDC, votre fournisseur de stockage cloud émet automatiquement des jetons d’accès de courte durée sur votre instance GitHub Enterprise Server, qui expirent automatiquement.
Prérequis
Avant d’activer GitHub Actions, vérifiez que vous avez effectué les étapes suivantes :
-
Créer votre compte de stockage Azure pour stocker des données de workflow. GitHub Actions stocke ses données sous forme d’objets blob de blocs, et deux types de comptes de stockage sont pris en charge :
-
Un compte de stockage universel (aussi appelé
general-purpose v1
ougeneral-purpose v2
) avec le niveau de performance standard .Avertissement : L’utilisation du niveau de performance premium avec un compte de stockage universel n’est pas prise en charge. Le niveau de performance standard doit être sélectionné au moment de créer le compte de stockage, et il n’est pas possible de le modifier ultérieurement.
-
Un compte de stockage BlockBlobStorage, qui utilise le niveau de performance premium.
Pour plus d’informations sur les types de comptes de stockage Azure et les niveaux de performance, consultez la documentation Azure.
-
-
Passez en revue les exigences matérielles relatives à GitHub Actions. Pour plus d’informations, consultez « Bien démarrer avec GitHub Actions pour GitHub Enterprise Server ».
-
TLS doit être configuré pour le domaine de votre instance GitHub Enterprise Server. Pour plus d’informations, consultez « Configuration de TLS ».
Remarque : Nous vous recommandons vivement de configurer TLS sur GitHub Enterprise Server avec un certificat signé par une autorité de confiance. Bien qu’un certificat autosigné puisse fonctionner, une configuration supplémentaire est nécessaire pour vos exécuteurs autohébergés. Elle n’est pas recommandée pour les environnements de production.
-
Si vous avez un serveur proxy HTTP configuré sur votre instance GitHub Enterprise Server :
-
Vous devez ajouter
.localhost
et127.0.0.1
à la liste Exclusion du proxy HTTP. -
Si votre emplacement de stockage externe n’est pas routable, vous devez également ajouter l’URL de votre stockage externe à la liste d’exclusion.
Pour plus d’informations sur la modification de vos paramètres de proxy, consultez « Configuration d’un serveur proxy web de trafic sortant ».
-
Si vous utilisez OIDC pour la connexion à votre fournisseur de stockage, vous devez exposer les URL de service de jeton OIDC suivantes de votre instance GitHub Enterprise Server sur l’Internet public :
https://HOSTNAME/_services/token/.well-known/openid-configuration https://HOSTNAME/_services/token/.well-known/jwks
Cela garantit que le fournisseur de stockage peut contacter votre instance GitHub Enterprise Server pour l’authentification.
Activation de GitHub Actions avec Azure Storage Blob à l’aide d’OIDC (recommandé)
Pour configurer GitHub Enterprise Server afin d’utiliser OIDC avec un compte de stockage Azure, vous devez d’abord inscrire une application Microsoft Entra ID (précédemment appelé Azure AD) avec les informations d’identification OIDC, puis configurer votre compte de stockage. Vous devez enfin configurer GitHub Enterprise Server afin d’accéder au conteneur de stockage à l’aide de l’application Entra ID.
1. Enregistrer une application Entra ID
-
Connectez-vous au Centre d’administration Microsoft Entra.
-
Enregistrez une nouvelle application dans Entra ID. Pour plus d’informations, voir Démarrage rapide : enregistrer une application avec la plateforme d’identité Microsoft sur Microsoft Learn.
-
Dans votre application Entra ID, sous « Informations de base », notez les valeurs affectées à « ID d’application (client) » et « ID d’annuaire (locataire) ». Ces valeurs sont utilisées par la suite.
-
Dans votre application Entra ID, sous « Gérer », cliquez sur Certificats et secrets, sélectionnez l’onglet Informations d’identification fédérées, puis cliquez sur Ajouter des informations d’identification.
-
Entrez les détails suivants pour les informations d’identification :
-
Pour « Scénario d’informations d’identification fédérées », sélectionnez Autre émetteur.
-
Pour « Émetteur », entrez
https://HOSTNAME/_services/token
, oùHOSTNAME
est le nom d’hôte public pour votre instance GitHub Enterprise Server. Par exemple :https://my-ghes-host.example.com/_services/token
. -
Pour « Identificateur du sujet », entrez le nom d’hôte public pour votre instance GitHub Enterprise Server. Par exemple :
my-ghes-host.example.com
.Remarque : L’identificateur du sujet doit uniquement avoir le nom d’hôte de votre instance GitHub Enterprise Server et ne doit pas inclure le protocole.
-
Pour « Nom », entrez un nom pour les informations d’identification.
-
Cliquez sur Add.
-
2. Configurer votre compte de stockage
-
Dans le portail Microsoft Azure, accédez à votre compte de stockage.
-
Cliquez sur Contrôle d’accès (IAM) , sur Ajouter, puis sélectionnez Ajouter une attribution de rôle.
-
Pour le rôle, sélectionnez « Propriétaire des données blob du stockage », puis cliquez sur Suivant.
-
Pour les membres, cliquez sur Sélectionner des membres, puis recherchez et sélectionnez le nom de l’application Entra ID que vous avez créée précédemment. Cliquez sur Sélectionner.
-
Cliquez sur Vérifier + affecter, passez en revue l’attribution de rôle, puis cliquez à nouveau sur Vérifier + affecter.
-
Dans le menu de gauche, sous « Paramètres », cliquez sur Points de terminaison.
-
Sous « Service Blob », notez la valeur de « Service Blob », en particulier le suffixe du point de terminaison d’objet blob. Il s’agit de la valeur après
https://<storageaccountname>.blob
. Il s’agit généralement decore.windows.net
, mais cela peut varier en fonction de votre région Azure ou de votre type de compte.Par exemple, si l’URL de votre service blob est
https://my-storage-account.blob.core.windows.net
, le suffixe du point de terminaison d’objet blob estcore.windows.net
.Notez le nom de votre compte de stockage et le suffixe du point de terminaison d’objet blob, car vous en aurez besoin par la suite.
3. Configuration de GitHub Enterprise Server pour se connecter à Entra ID à l’aide d’OIDC
-
À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.
-
Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.
-
Dans la barre latérale « Administrateur de site », cliquez sur Management Console .
-
Dans la barre latérale « Paramètres », cliquez sur Actions.
-
Sous « GitHub Actions », sélectionnez Activer GitHub Actions.
-
Sous « Artefact et stockage des journaux », à côté de « Stockage Blob Azure », cliquez sur Configurer.
-
Sous « Authentification », sélectionnez OpenID Connect (OIDC) et entrez les valeurs de votre stockage que vous avez notées dans les procédures précédentes :
- ID de locataire Entra ID
- ID client Entra ID
- Nom du compte de stockage Azure
- Suffixe du point de terminaison d’objet blob 1. Cliquez sur le bouton Tester les paramètres de stockage pour valider vos paramètres de stockage.
En cas d’erreurs au moment de la validation des paramètres de stockage, vérifiez ces paramètres auprès de votre fournisseur de stockage, puis réessayez.
-
Sous la barre latérale « Paramètres », cliquez sur Enregistrer les paramètres.
Remarque : l’enregistrement des paramètres dans la Management Console redémarre les services système, ce qui peut entraîner un temps d’arrêt visible pour l’utilisateur.
-
Attendez la fin de l’exécution de la configuration.
Activation de GitHub Actions avec Stockage Blob Azure à l’aide d’une chaîne de connexion
-
À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.
-
Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.
-
Dans la barre latérale « Administrateur de site », cliquez sur Management Console .
-
Dans la barre latérale « Paramètres », cliquez sur Actions.
-
Sous « GitHub Actions », sélectionnez Activer GitHub Actions.
-
Sous « Artefact et stockage des journaux », à côté de « Stockage Blob Azure », cliquez sur Configurer.
-
Sous « Authentification », sélectionnez Basée sur les informations d’identification, puis entrez la chaîne de connexion de votre compte de stockage Azure. Pour plus d’informations sur l’obtention de la chaîne de connexion de votre compte de stockage, consultez la documentation Azure.
-
Cliquez sur le bouton Tester les paramètres de stockage pour valider vos paramètres de stockage.
En cas d’erreurs au moment de la validation des paramètres de stockage, vérifiez ces paramètres auprès de votre fournisseur de stockage, puis réessayez.
-
Sous la barre latérale « Paramètres », cliquez sur Enregistrer les paramètres.
Remarque : l’enregistrement des paramètres dans la Management Console redémarre les services système, ce qui peut entraîner un temps d’arrêt visible pour l’utilisateur.
-
Attendez la fin de l’exécution de la configuration.
Étapes suivantes
Une fois l’exécution de la configuration réussie, GitHub Actions est activé sur votre instance GitHub Enterprise Server. Pour les prochaines étapes, par exemple la gestion des autorisations d’accès de GitHub Actions et l’ajout d’exécuteurs autohébergés, retournez à « Bien démarrer avec GitHub Actions pour GitHub Enterprise Server ».