GitHub Enterprise est une plateforme de développement logiciel de niveau entreprise, conçue pour les organisations qui ont besoin d'une gestion centralisée, de sécurité, de collaboration et d'automatisation du développement au sein de grandes équipes d'ingénierie. Elle associe la gestion du code source aux pull requests, au suivi des tickets, au CI/CD, aux outils de sécurité, aux environnements de développement, à la gestion des paquets et au développement assisté par l'IA.

GitHub Enterprise est proposé sous deux formes : GitHub Enterprise Cloud et GitHub Enterprise Server. Enterprise Cloud fournit un environnement cloud géré, tandis qu'Enterprise Server permet aux organisations d'exécuter GitHub sur leur propre infrastructure. Un abonnement Enterprise donne accès aux deux options de déploiement, sous réserve des conditions de licence et de déploiement de GitHub.

Pour les organisations qui gèrent plusieurs équipes de développement, la plateforme ajoute une gouvernance centralisée et des contrôles d'identité aux processus de développement standard de GitHub.

Qu'est-ce que GitHub Enterprise ?

GitHub Enterprise réunit la gestion du code source basée sur Git et des outils de collaboration et de livraison logicielle. Les développeurs peuvent créer des dépôts, gérer des branches, examiner des pull requests, suivre des tickets, automatiser des workflows et publier des paquets depuis une plateforme commune.

Les comptes entreprise offrent une couche de gestion centrale couvrant plusieurs organisations GitHub. Les administrateurs peuvent gérer les politiques, les utilisateurs, les autorisations, les paramètres de sécurité et les règles des dépôts au niveau de l'organisation comme de l'entreprise.

GitHub Enterprise Cloud est hébergé par GitHub, tandis qu'Enterprise Server offre une option de déploiement auto-hébergé pour les organisations qui souhaitent davantage de contrôle sur leur infrastructure.

Dépôts GitHub et collaboration

Les dépôts GitHub constituent le socle du développement logiciel sur la plateforme. Les équipes peuvent y stocker le code source, la documentation, les fichiers de configuration et d'autres éléments de projet.

Les développeurs peuvent créer des branches pour travailler sur des modifications sans toucher immédiatement à la base de code principale. Les pull requests offrent ensuite un processus structuré pour examiner et discuter les modifications proposées avant leur fusion.

Les issues permettent de suivre les bugs, les demandes de fonctionnalités, les tâches de développement et d'autres travaux. GitHub Projects ajoute des fonctionnalités de gestion de projet pour organiser le travail entre dépôts et équipes.

Ces outils relient l'activité de développement au code effectivement modifié et créent un processus commun pour les développeurs, les relecteurs et les chefs de projet.

GitHub Actions et CI/CD

GitHub Actions permet d'automatiser les workflows de développement et de déploiement logiciels.

Les organisations peuvent créer des workflows qui compilent automatiquement les applications, exécutent les tests, effectuent des contrôles de sécurité, empaquettent les logiciels et déploient les applications lorsque certains événements se produisent.

Les offres Enterprise incluent un quota substantiel d'utilisation de GitHub Actions, tandis que toute utilisation supplémentaire peut être facturée selon la configuration de l'organisation. GitHub indique actuellement un quota Enterprise de 50 000 minutes de CI/CD par mois, l'utilisation supplémentaire étant facturée séparément selon les conditions applicables.

Actions peut également s'intégrer à des services tiers grâce à des actions réutilisables et au GitHub Marketplace.

GitHub Packages et Codespaces

GitHub Packages permet aux organisations d'héberger et de gérer des paquets logiciels aux côtés de leur code source. Les développeurs peuvent publier des paquets et les utiliser comme dépendances dans leurs processus de développement.

GitHub indique actuellement 50 Go de stockage Packages inclus dans l'offre Enterprise, l'utilisation supplémentaire étant soumise à la facturation applicable.

GitHub Codespaces fournit des environnements de développement hébergés dans le cloud, configurables selon les besoins d'un projet. Les développeurs peuvent travailler dans des environnements standardisés sans avoir à configurer manuellement chaque dépendance sur leur ordinateur.

Codespaces est facturé séparément en fonction de l'utilisation de calcul et de stockage au-delà des quotas applicables.

GitHub Copilot et développement assisté par l'IA

GitHub intègre l'intelligence artificielle au processus de développement grâce à GitHub Copilot.

Copilot peut aider à la complétion de code, à l'explication du code, aux questions de développement et à d'autres tâches de programmation. Les clients GitHub Enterprise peuvent acheter Copilot en tant que produit complémentaire et en gérer certains aspects via l'administration au niveau de l'entreprise.

GitHub étend également le développement assisté par l'IA vers des processus davantage fondés sur des agents, dans lesquels l'IA peut aider les développeurs à mener à bien des tâches logicielles plutôt que de simplement générer des lignes de code isolées. La plateforme Enterprise de GitHub comprend des contrôles d'administration destinés à aider les organisations à gérer les outils et agents d'IA à grande échelle.

La sécurité de GitHub Enterprise

La sécurité est un élément majeur de GitHub Enterprise. Les organisations peuvent appliquer des règles aux dépôts, gérer les autorisations, examiner les événements d'audit et intégrer GitHub aux systèmes d'identité de l'entreprise.

GitHub propose des fonctionnalités de sécurité telles que les graphes de dépendances, les alertes Dependabot, les ensembles de règles de dépôt, les attestations d'artefacts et les politiques de sécurité, selon les offres. Des fonctionnalités de sécurité supplémentaires sont disponibles via les produits Advanced Security de GitHub.

GitHub Enterprise prend également en charge des contrôles de sécurité et de gouvernance couvrant plusieurs organisations, ce qui permet aux administrateurs d'établir des politiques cohérentes plutôt que de configurer chaque dépôt séparément.

GitHub Advanced Security

GitHub Advanced Security étend les capacités de sécurité applicative de la plateforme.

GitHub Code Security comprend l'analyse du code, CodeQL, l'examen des dépendances, des fonctionnalités Dependabot avancées, des campagnes de sécurité et Copilot Autofix pour les alertes de sécurité concernées.

GitHub Secret Protection propose l'analyse des secrets, la protection lors des push, la détection des secrets assistée par l'IA, des modèles personnalisés et des contrôles supplémentaires pour empêcher que des identifiants ne se retrouvent dans les dépôts.

Ces fonctionnalités peuvent aider les équipes de développement et de sécurité à repérer plus tôt dans le cycle de vie logiciel les vulnérabilités et les identifiants exposés.

Les fonctionnalités Advanced Security peuvent être achetées pour les environnements GitHub Enterprise, tandis que certaines fonctionnalités de sécurité sont disponibles pour les dépôts publics sans licence supplémentaire.

Gestion des identités et des accès

GitHub Enterprise offre des fonctionnalités centralisées de gestion des identités et des accès pour les grandes organisations.

Les clients Enterprise peuvent utiliser l'authentification unique SAML, le provisionnement SCIM, Enterprise Managed Users, la vérification de domaine, des rôles personnalisés et la synchronisation des équipes avec les fournisseurs d'identité pris en charge.

Enterprise Managed Users permet aux organisations de gérer les comptes des membres via leur fournisseur d'identité. SCIM peut automatiser la création et la suppression des comptes utilisateurs lorsque des collaborateurs rejoignent ou quittent l'organisation.

Ces contrôles aident les organisations à aligner l'accès à GitHub sur leurs processus existants de gestion des identités.

Gouvernance et audit à l'échelle de l'entreprise

La gouvernance centralisée est une autre capacité majeure d'Enterprise.

Les administrateurs peuvent gérer plusieurs organisations via un compte entreprise, définir des règles de dépôt, créer des équipes, attribuer des rôles et examiner l'activité grâce aux journaux d'audit.

GitHub fournit également des rapports de conformité, notamment des rapports SOC et d'autres documents de conformité, aux organisations qui ont besoin de justificatifs pour leurs évaluations de sécurité et leurs processus de gouvernance.

Enterprise Cloud prend aussi en charge la résidence des données pour les configurations éligibles. GitHub mentionne actuellement des options régionales comprenant l'Union européenne, l'Australie, les États-Unis et le Japon pour les déploiements avec résidence des données.

GitHub Enterprise Cloud ou Enterprise Server

Les organisations peuvent choisir entre deux principaux modèles de déploiement.

GitHub Enterprise Cloud est un environnement SaaS géré, exploité par GitHub. Il offre l'évolutivité du cloud tout en proposant des contrôles d'entreprise tels que SAML, SCIM, les comptes gérés, l'administration centralisée et des options de résidence des données.

GitHub Enterprise Server est un déploiement auto-hébergé. Les organisations exploitent l'environnement GitHub sur leur propre infrastructure, ce qui constitue une approche différente de la gestion de l'infrastructure et du contrôle des données.

GitHub Connect permet de relier les environnements Enterprise Server et Enterprise Cloud, afin que les organisations puissent partager certaines fonctionnalités et certains processus entre leurs déploiements.

La tarification de GitHub Enterprise

Sur sa page de tarifs publique, GitHub indique actuellement un prix Enterprise de 21 $ par utilisateur et par mois pendant les 12 premiers mois. Les organisations peuvent démarrer un essai gratuit de 30 jours ou contacter l'équipe commerciale de GitHub.

La facturation Enterprise repose sur le nombre d'utilisateurs uniques consommant une licence. Des coûts supplémentaires peuvent s'appliquer pour des services tels que GitHub Actions ou Codespaces au-delà des quotas inclus, ainsi que pour des produits optionnels comme GitHub Copilot et Advanced Security.

Les contrats d'entreprise et les services facturés à l'usage pouvant varier, les organisations doivent évaluer l'ensemble de leurs besoins prévus en matière de déploiement et de services plutôt que de se limiter au prix de la licence de base.

Comment les entreprises évaluent GitHub Enterprise

Les organisations prennent généralement en compte :

  • Le nombre de développeurs et d'autres utilisateurs
  • Le choix entre déploiement cloud et auto-hébergé
  • Les exigences de gouvernance du code source
  • Les charges de travail CI/CD
  • Les exigences de sécurité et de conformité
  • L'intégration à la gestion des identités
  • Les exigences de résidence des données
  • Les besoins en développement assisté par l'IA
  • L'utilisation de Codespaces et de la gestion des paquets
  • Les besoins en Advanced Security
  • Les besoins d'administration à l'échelle de l'entreprise

La configuration appropriée dépend de la manière dont l'organisation structure ses équipes d'ingénierie et ses processus de livraison logicielle.

Conclusion

GitHub Enterprise réunit dans une plateforme d'entreprise la gestion du code source, la collaboration, le CI/CD, la sécurité, la gestion des paquets, les environnements de développement cloud, la gouvernance et le développement assisté par l'IA.

Ses principales fonctionnalités comprennent les dépôts et les pull requests, GitHub Actions, Projects, Packages, Codespaces, Copilot, la gestion des identités, les contrôles d'audit, les règles de dépôt et les produits optionnels Advanced Security. Les organisations peuvent déployer GitHub Enterprise dans l'environnement cloud de GitHub ou utiliser Enterprise Server pour un déploiement auto-hébergé.

Pour les entreprises qui évaluent la plateforme, les principaux critères sont le modèle de déploiement, l'échelle du développement, les exigences de sécurité, l'intégration des identités, les charges d'automatisation, l'usage de l'IA et les besoins de gouvernance.

Références