À propos de GitHub Actions pour les entreprises
GitHub Actions est une plateforme d’intégration continue et livraison continue (CI/CD) qui vous permet d’automatiser votre pipeline de génération, de test et de déploiement. Avec GitHub Actions, votre entreprise peut automatiser, personnaliser et exécuter vos workflows de développement logiciel comme les tests et les déploiements. Pour plus d’informations, consultez « À propos de GitHub Actions pour les entreprises ».
Avant d’introduire GitHub Actions dans une grande entreprise, il est nécessaire de d’abord établir un plan d’adoption et de prendre des décisions sur la manière dont l’entreprise va utiliser GitHub Actions pour répondre aux mieux à ses besoins uniques.
Gouvernance et conformité
Vous devez établir un plan pour régir l’utilisation de GitHub Actions dans votre entreprise et satisfaire vos obligations de conformité.
Identifiez les actions et les workflows réutilisables que vos développeurs seront autorisés à utiliser. Tout d’abord, décidez ou non d’autoriser des actions tierces et des workflows réutilisables qui n’ont pas été créé(e)s par GitHub. Vous pouvez configurer les actions et les workflows réutilisables qui sont autorisé(e)s à s’exécuter aux niveaux du dépôt, de l’organisation et de l’entreprise et choisir d’autoriser uniquement les actions qui sont créées par GitHub. Si vous autorisez des actions tierces et des workflows réutilisables, vous pouvez limiter les actions autorisées à celles qui ont été créées par des créateurs vérifiés ou à une liste d’actions et des workflows réutilisables spécifiques.
Pour plus d’informations, consultez « Gestion des paramètres de GitHub Actions pour un dépôt », « Désactivation ou limitation de la fonctionnalité GitHub Actions pour votre organisation » et « Application de stratégies pour GitHub Actions dans votre entreprise ».
Envisagez de combiner OpenID Connect (OIDC) avec des workflows réutilisables pour appliquer des déploiements cohérents dans votre dépôt, organisation ou entreprise. Pour cela, vous pouvez définir des conditions d’approbation au niveau de rôles cloud en fonction de workflows réutilisables. Pour plus d’informations, consultez « Utilisation d’OpenID Connect avec des workflows réutilisables ».
Vous pouvez accéder à des informations sur l’activité relative à GitHub Actions dans les journaux d’audit de votre entreprise. Si vos besoins métier nécessitent de conserver ces informations plus longtemps que les données des journaux d’audit, réfléchissez à la façon dont vous allez exporter et stocker ces données en dehors de GitHub. Pour plus d’informations, consultez « Exportation de l’activité du journal d’audit pour votre entreprise » et « Streaming de journaux d’audit pour votre entreprise ».
Vous pouvez pratiquer le principe du privilège minimum en administrant des rôles d’organisation personnalisés pour accéder aux paramètres dans votre pipeline CI/CD GitHub Actions. Pour plus d’informations sur les rôles d’organisation personnalisés, consultez « À propos des rôles d'organisation personnalisés ».
Sécurité
Vous devez réfléchir à votre approche pour renforcer la sécurité de GitHub Actions.
Renforcement de la sécurité des différents workflows et dépôts
Établissez un plan pour renforcer les bonnes pratiques de sécurité pour les personnes qui utilisent les fonctionnalités de GitHub Actions au sein de votre entreprise. Pour plus d’informations sur ces pratiques, consultez « Durcissement de la sécurité pour GitHub Actions ».
Vous pouvez aussi encourager la réutilisation des workflows qui ont déjà été évalués sur la plan de la sécurité. Pour plus d’informations, consultez « Inner sourcing ».
Sécurisation de l’accès aux secrets et aux ressources de déploiement
Vous devez prévoir où vous allez stocker vos secrets. Nous vous recommandons de stocker les secrets dans GitHub, mais vous pouvez choisir de les stocker chez un fournisseur de cloud.
Dans GitHub, vous pouvez stocker les secrets au niveau du dépôt ou de l’organisation. Les secrets au niveau du dépôt peuvent être limités aux workflows de certains environnements, par exemple de production ou de test. Pour plus d’informations, consultez « Utilisation de secrets dans GitHub Actions ».
Vous devez envisager d’ajouter une protection par approbation manuelle pour les environnements sensibles, de sorte que les workflows soient obligatoirement approuvés avant d’accéder aux secrets des environnements. Pour plus d’informations, consultez « Gestion des environnements pour le déploiement ».
Considérations de sécurité pour les actions tierces
Se procurer des actions sur des dépôts tiers de GitHub comporte un risque significatif. Si vous autorisez des actions tierces, vous avez tout intérêt à créer des directives internes qui encouragent votre équipe à suivre les bonnes pratiques, notamment en faisant correspondre les actions à un SHA de commit complet. Pour plus d’informations, consultez « Durcissement de la sécurité pour GitHub Actions ».
Mise en réseau privé avec des exécuteurs hébergés par GitHub
Vous pouvez utiliser des exécuteurs hébergés par GitHub dans un VNet Azure. Cela vous permet d’utiliser une infrastructure managée par GitHub pour CI/CD tout en vous fournissant un contrôle total sur les stratégies de mise en réseau de vos exécuteurs. Pour plus d'informations sur Azure VNET, consultez la section Qu'est-ce que le réseau virtuel Azure ? dans la documentation Azure. Pour plus d’informations, consultez « À propos de la mise en réseau privée Azure pour les exécuteurs hébergés par GitHub dans votre entreprise ».
Inner sourcing
Réfléchissez à la façon dont votre entreprise peut utiliser les fonctionnalités de GitHub Actions pour l’inner sourcing de l’automatisation. L’inner sourcing est un moyen d’incorporer les avantages des méthodologies open source dans votre cycle de développement logiciel interne. Pour plus d’informations, consultez An introduction to innersource dans GitHub Resources.
Pour partager des actions au sein de votre entreprise sans les publier publiquement, vous pouvez les stocker dans un référentiel interne, puis configurer celui-ci pour autoriser l’accès aux workflows GitHub Actions dans d’autres référentiels appartenant à la même organisation ou à toute autre organisation de l’entreprise. Pour plus d’informations, consultez « Partage d’actions et de workflows au sein de votre entreprise ».
Avec les workflows réutilisables, votre équipe peut appeler un workflow à partir d’un autre workflow, ce qui évite une duplication exactement identique. Les workflows réutilisables favorisent les bonnes pratiques en aidant votre équipe à utiliser des workflows bien conçus et déjà testés. Pour plus d’informations, consultez « Réutilisation des workflows ».
Pour offrir aux développeurs un point de départ pour la génération de nouveaux workflows, vous pouvez utiliser des modèles de workflow. Non seulement ils font gagner du temps aux développeurs, mais ils favorisent également la cohérence et les bonnes pratiques à l’échelle de votre entreprise. Pour plus d’informations, consultez « Création de modèles de workflow pour votre organisation ».
Chaque fois que vos développeurs de workflows souhaitent utiliser une action stockée dans un dépôt privé, ils doivent d’abord configurer le workflow pour cloner le dépôt. Pour réduire le nombre de dépôts à cloner, envisagez de regrouper les actions couramment utilisées dans un même dépôt. Pour plus d’informations, consultez « À propos des actions personnalisées ».
Gestion des ressources
Vous devez réfléchir à la façon dont vous allez gérer les ressources nécessaires à l’utilisation de GitHub Actions.
Exécuteurs
Les workflows GitHub Actions nécessitent des exécuteurs. Vous pouvez choisir d’utiliser des exécuteurs hébergés par GitHub ou des exécuteurs auto-hébergés. GitHub assure la maintenance et la mise à niveau des exécuteurs hébergés par GitHub. Pour plus d’informations, consultez « Utilisation des exécuteurs hébergés par GitHub ».
Pour gérer vos propres ressources, configuration ou localisation géographique de vos ordinateurs exécuteurs, utilisez des exécuteurs auto-hébergés. Pour plus d’informations, consultez « À propos des exécuteurs auto-hébergés ».
Si vous voulez mieux contrôler les stratégies de mise en réseau de vos exécuteurs, utilisez des exécuteurs auto-hébergés ou des options de mise en réseau privée pour les exécuteurs hébergés par GitHub. Pour plus d’informations sur les options de mise en réseau privée, consultez « Informations sur la mise en réseau privé avec des exécuteurs hébergés par GitHub. »
Si vous utilisez des exécuteurs auto-hébergés, vous devez choisir entre utiliser des machines physiques, des machines virtuelles ou des conteneurs. Les machines physiques conservent les restes des travaux précédents, tout comme les machines virtuelles, à moins que vous utilisiez une nouvelle image pour chaque travail ou que vous nettoyiez les machines après chaque exécution de travail. Si vous optez pour les conteneurs, sachez que la mise à jour automatique des exécuteurs arrête les conteneurs, ce qui peut entraîner l’échec des workflows. Vous devez trouver une solution à ce problème en empêchant les mises à jour automatiques ou en ignorant la commande afin de tuer le conteneur.
Vous devez aussi choisir à quel emplacement ajouter chaque exécuteur. Vous pouvez ajouter un exécuteur auto-hébergé à un dépôt individuel ou mettre l’exécuteur à la disposition d’une organisation entière ou de l’ensemble de votre entreprise. En ajoutant les exécuteurs au niveau de l’organisation ou de l’entreprise, vous pouvez en assurer le partage et ainsi contribuer à réduire la taille de votre infrastructure d’exécuteurs. Vous pouvez utiliser des stratégies pour limiter l’accès aux exécuteurs auto-hébergés aux niveaux de l’organisation et de l’entreprise en affectant des groupes d’exécuteurs à des dépôts ou des organisations spécifiques. Pour plus d’informations, consultez « Ajout d’exécuteurs auto-hébergés » et « Gestion de l’accès aux exécuteurs auto-hébergés à l’aide de groupes ». Vous pouvez également utiliser des stratégies pour empêcher les utilisateurs de se servir d’exécuteurs auto-hébergés au niveau du dépôt. Pour plus d’informations, consultez « Application de stratégies pour GitHub Actions dans votre entreprise ».
Envisagez d’utiliser la mise à l’échelle automatique pour augmenter ou diminuer automatiquement le nombre d’exécuteurs auto-hébergés disponibles. Pour plus d’informations, consultez « Mise à l’échelle automatique avec des exécuteurs auto-hébergés ».
Enfin, envisagez de renforcer la sécurité pour les exécuteurs auto-hébergés. Pour plus d’informations, consultez « Durcissement de la sécurité pour GitHub Actions ».
Stockage
Artifacts vous permet de partager des données entre travaux dans un workflow, et de stocker des données une fois ce workflow terminé. Pour plus d’informations, consultez « Stockage et partage des données d’un workflow ».
GitHub Actions a également un système de mise en cache que vous pouvez utiliser pour mettre en cache les dépendances afin d’accélérer les exécutions de workflow. Pour plus d’informations, consultez « Mise en cache des dépendances pour accélérer les workflows ».
Vous pouvez utiliser les paramètres de stratégie pour GitHub Actions afin de personnaliser le stockage des artefacts de workflow, les caches et la conservation des journaux. Pour plus d’informations, consultez « Application de stratégies pour GitHub Actions dans votre entreprise ».
Même si un certain volume de stockage est inclus dans votre abonnement, l’ajout d’espace de stockage supplémentaire se répercutera sur votre facture. Vous devez prévoir ce coût. Pour plus d’informations, consultez « À propos de la facturation de GitHub Actions ».
Suivi de l'utilisation
Vous devez envisager de planifier le suivi de l’utilisation de GitHub Actions pour connaître notamment à quelle fréquence les workflows sont exécutés, combien d’exécutions aboutissent et combien échouent et quels dépôts utilisent quels workflows.
Des détails sur l’utilisation du stockage et du transfert de données de GitHub Actions pour chaque organisation de votre entreprise sont visibles dans vos paramètres de facturation. Pour plus d’informations, consultez « Affichage de l’utilisation de GitHub Actions ».
Pour obtenir des données d’utilisation plus détaillées, vous pouvez utiliser des webhooks pour vous abonner à des informations sur les travaux et les exécutions de workflows. Pour plus d’informations, consultez « À propos des webhooks ».
Réfléchissez à la façon dont votre entreprise peut transmettre les informations de ces webhooks dans un système d’archivage de données. Vous pouvez envisager d’utiliser « CEDAR.GitHub.Collector », outil open source qui collecte et traite les données de webhooks de GitHub. Pour plus d’informations, consultez le dépôt Microsoft/CEDAR.GitHub.Collector
.
Vous devez aussi prévoir comment vous allez permettre à vos équipes d’obtenir les données dont elles ont besoin depuis votre système d’archivage.