Ă 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.