Prérequis
- Vous devez disposer d’un fichier de licence GitHub Enterprise. Pour plus d’informations, consultez « Configuration d’un essai de GitHub Enterprise Server » et « À propos des licences pour GitHub Enterprise ».
- Vous devez disposer d’un compte Google Cloud Platform capable de lancer des instances de machine virtuelle GCE (Google Compute Engine). Pour plus d’informations, consultez le site web Google Cloud Platform et la documentation Google Cloud Platform.
- La plupart des actions nécessaires pour lancer votre instance peuvent également être effectuées à l’aide de la console Google Cloud Platform. Toutefois, nous vous recommandons d’installer l’outil en ligne de commande gcloud compute pour la configuration initiale. Vous trouverez ci-dessous des exemples d’utilisation de l’outil en ligne de commande gcloud compute. Pour plus d’informations, consultez le guide d’installation et de configuration de gcloud compute dans la documentation Google.
Considérations matérielles
Exigences minimales recommandées
Nous recommandons différentes configurations matérielles en fonction du nombre de licences utilisateur pour votre instance GitHub Enterprise Server. Si vous approvisionnez plus de ressources que les exigences minimales recommandées, cela améliorera les performances et la mise à l’échelle de votre instance.
Licences utilisateur | Processeurs virtuels x86-64 | Mémoire | Stockage racine | Stockage (de données) attaché |
---|---|---|---|---|
Essai, démonstration ou 10 utilisateurs légers | 4 | 32 Go | 200 Go | 150 Go |
10 à 3 000 | 8 | 48 Go | 200 Go | 300 Go |
3 000 à 5 000 | 12 | 64 Go | 200 Go | 500 Go |
5 000 à 8 000 | 16 | 96 Go | 200 Go | 750 Go |
8 000 à 10 000+ | 20 | 160 Go | 200 Go | 1 000 Go |
Si vous envisagez d’activer GitHub Actions ou GitHub Advanced Security pour les utilisateurs de votre instance, d’autres ressources sont requises.
- GitHub Actions - augmenter l'unité centrale et la mémoire d'au moins 25 %
- GitHub Advanced Security - augmenter le CPU et la mémoire d'au moins 25 %
Ces ajustements doivent être appliqués aux exigences de base pour chaque niveau utilisateur. Nous vous recommandons de surveiller toutes les modifications apportées à vos ressources, car d’autres augmentations peuvent être nécessaires.
Pour plus d’informations sur ces configurations requises, consultez « Bien démarrer avec GitHub Actions pour GitHub Enterprise Server ».
Si vous envisagez d’activer Container registry pour les utilisateurs de votre instance, d’autres ressources sont requises. Pour plus d’informations sur ces configurations requises, consultez « Bien démarrer avec GitHub Packages pour votre entreprise ».
Pour plus d’informations sur l’ajustement des ressources pour une instance existante, consultez « Augmentation de la capacité de stockage » et « Augmentation des ressources processeur ou mémoire ».
Stockage
Nous recommandons un disque SSD haute performance avec un nombre élevé d’IOPS et une faible latence pour GitHub Enterprise Server. Les charges de travail sont gourmandes en E/S. Si vous utilisez un hyperviseur nu, nous vous recommandons d’attacher directement le disque ou d’utiliser un disque d’un réseau de zone de stockage (SAN).
Votre instance nécessite un disque de données persistant séparé du disque racine. Pour plus d’informations, consultez « Vue d’ensemble du système ».
Warning
Le stockage racine fait référence à la taille totale du disque racine de votre instance. Lorsque l’instance est démarrée, vous verrez 100 Go restants disponibles sur le système de fichiers racine. Les 100 Go restants sont réservés aux mises à niveau. Pour plus d’informations, consultez « Vue d’ensemble du système ».
Pour configurer GitHub Actions, vous devez fournir un stockage d’objets blob externe. Pour plus d’informations, consultez « Bien démarrer avec GitHub Actions pour GitHub Enterprise Server ».
L’espace disponible sur le système de fichiers racine sera de 50 % de la taille totale du disque. Vous pouvez redimensionner le disque racine de votre instance en créant une nouvelle instance ou en utilisant une instance existante. Pour plus d’informations, consultez « Vue d’ensemble du système » et « Augmentation de la capacité de stockage ».
Processeur et mémoire
Les ressources processeur et mémoire que GitHub Enterprise Server requiert dépendent des niveaux d’activité pour les utilisateurs, les automatisations et les intégrations.
Toutes les machines virtuelles que vous provisionnez pour votre instance GitHub Enterprise Server doivent utiliser l’architecture de processeur x86-64. Les autres architectures ne sont pas prises en charge, telles que AAarch64 ou arm64.
Si vous envisagez d’activer GitHub Actions pour les utilisateurs de votre instance GitHub Enterprise Server, il se peut que vous deviez approvisionner des ressources processeur et mémoire supplémentaires pour celle-ci. Pour plus d’informations, consultez « Bien démarrer avec GitHub Actions pour GitHub Enterprise Server ».
Quand vous augmentez les ressources d’UC, GitHub vous recommande d’ajouter au moins 6,5 Go de mémoire par processeur virtuel (jusqu’à 16 processeurs virtuels) que vous approvisionnez pour l’instance. Lorsque vous utilisez plus de 16 processeurs virtuels, vous n’avez pas besoin d’ajouter 6,5 Go de mémoire par processeur virtuel, mais vous devez surveiller votre instance pour vous assurer qu’elle dispose de suffisamment de mémoire.
Warning
Nous recommandons aux utilisateurs de configurer des événements de webhook pour avertir des systèmes externes de l’activité sur GitHub Enterprise Server. Les vérifications automatisées des modifications, ou l’interrogation, auront un impact négatif sur les performances et la scalabilité de votre instance. Pour plus d’informations, consultez « À propos des webhooks ».
Pour plus d’informations sur la supervision de la capacité et des performances de GitHub Enterprise Server, consultez « Surveillance de votre instance ».
Vous pouvez augmenter les ressources processeur ou mémoire de votre instance. Pour plus d’informations, consultez « Augmentation des ressources processeur ou mémoire ».
Détermination du type de machine
Avant de lancer votre instance GitHub Enterprise Server sur Google Cloud Platform, vous devez déterminer le type de machine qui répond le mieux aux besoins de votre organisation. Pour voir exigences minimales recommandées pour GitHub Enterprise Server, consultez « Exigences minimales recommandées ».
Vous pouvez toujours effectuer un scale-up de votre UC ou de votre mémoire en redimensionnant votre instance. La modification des ressources disponibles pour votre instance nécessite un temps d’arrêt pour vos utilisateurs. Alors GitHub recommande de surprovisionner les ressources pour tenir compte de la mise à l’échelle.
GitHub recommande une machine à usage général et à mémoire élevée pour GitHub Enterprise Server. Pour plus d’informations, consultez « À propos des familles de machines » dans la documentation Google Compute Engine.
Sélection de l’image de GitHub Enterprise Server
-
À l’aide de l’outil en ligne de commande gcloud compute, listez les images publiques de GitHub Enterprise Server :
gcloud compute images list --project github-enterprise-public --no-standard-images
-
Notez le nom de la dernière image GCE de GitHub Enterprise Server.
Configuration du pare-feu
Les machines virtuelles GCE sont créées comme membres d’un réseau avec un pare-feu. Pour le réseau associé à la machine virtuelle GitHub Enterprise Server, vous devez configurer le pare-feu pour autoriser les ports requis listés dans le tableau ci-dessous. Nous vous recommandons d’ouvrir les ports réseau de manière sélective en fonction des services réseau que vous devez exposer pour l’administration et l’accès utilisateur. Pour plus d’informations, consultez « Ports réseau » et Vue d’ensemble des règles de pare-feu dans la documentation de Google Cloud Platform.
-
À l’aide de l’outil en ligne de commande gcloud compute, créez le réseau. Pour plus d’informations, consultez gcloud compute networks create dans la documentation Google.
gcloud compute networks create NETWORK-NAME --subnet-mode auto
-
Créez une règle de pare-feu pour chacun des ports du tableau ci-dessous. Pour plus d’informations, consultez gcloud compute firewall-rules dans la documentation Google.
$ gcloud compute firewall-rules create RULE-NAME \ --network NETWORK-NAME \ --allow tcp:22,tcp:25,tcp:80,tcp:122,udp:161,tcp:443,udp:1194,tcp:8080,tcp:8443,tcp:9418,icmp
Ce tableau identifie les ports requis et décrit l’utilisation de chacun d’eux.
Port Service Description 22 SSH Accès Git via SSH Opérations de clonage, de récupération (fetch) et d’envoi (push) sur les référentiels publics et privés pris en charge. 25 SMTP Prise en charge de SMTP avec chiffrement (STARTTLS). 80 HTTP Accès aux applications web. Toutes les requêtes sont redirigées vers le port HTTPS lorsque SSL est activé. 122 SSH Accès à l’interpréteur de commandes de l’instance. Le port SSH par défaut (22) est dédié au trafic réseau des applications Git et SSH. 161/UDP SNMP Nécessaire au fonctionnement du protocole de supervision de réseau. 443 HTTPS Accès aux applications web et à Git via HTTPS. 1194/UDP VPN Tunnel de réseau de réplication sécurisé dans une configuration à haute disponibilité. Chiffré à l’aide de WireGuard. 8080 HTTP Management Console web en texte brut. Non obligatoire, sauf si SSL est désactivé manuellement. 8443 HTTPS Management Console web sécurisée. Requis pour l’installation et la configuration de base. 9418 Git Port du protocole Git simple. Opérations de clonage et de récupération (fetch) sur référentiels publics uniquement. Communication réseau non chiffrée. Si vous avez activé le mode privé sur votre instance, l’ouverture de ce port n’est nécessaire que si vous avez également activé l’accès en lecture Git anonyme. Pour plus d’informations, consultez « Application de stratégies de gestion des dépôts dans votre entreprise ».
Allocation d’une IP statique et affectation de celle-ci à la machine virtuelle
S’il s’agit d’une appliance de production, nous vous recommandons vivement de réserver une adresse IP externe statique et de l’affecter à la machine virtuelle GitHub Enterprise Server. Sinon, l’IP publique de la machine virtuelle ne sera pas conservée après les redémarrages. Pour plus d’informations, consultez le guide Google Réserver une adresse IP externe statique.
Dans les configurations de production à haute disponibilité, des adresses IP statiques distinctes doivent être affectées aux appliances principales et réplicas.
Création de l’instance GitHub Enterprise Server
Pour créer l’instance GitHub Enterprise Server, vous devez créer une instance GCE avec votre image de GitHub Enterprise Server et attacher un volume de stockage supplémentaire pour vos données d’instance. Pour plus d’informations, consultez « Considérations matérielles ».
-
À l’aide de l’outil en ligne de commande gcloud compute, créez un disque de données à utiliser comme volume de stockage attaché pour vos données d’instance et configurez la taille en fonction du nombre de licences utilisateur. Pour plus d’informations, consultez gcloud compute disks create dans la documentation Google.
gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE
-
Créez ensuite une instance avec le nom de l’image de GitHub Enterprise Server que vous avez sélectionnée, puis attachez le disque de données. Pour plus d’informations, consultez gcloud compute instances create dans la documentation Google.
$ gcloud compute instances create INSTANCE-NAME \ --machine-type n1-standard-8 \ --image GITHUB-ENTERPRISE-IMAGE-NAME \ --disk name=DATA-DISK-NAME \ --metadata serial-port-enable=1 \ --zone ZONE \ --network NETWORK-NAME \ --image-project github-enterprise-public
Configuration de l’instance
Pour configurer l’instance, vous devez charger un fichier de licence, définir le mot de passe racine Management Console, configurer les paramètres de l’instance et redémarrer l’instance.
Warning
Pour empêcher un attaquant de compromettre la nouvelle instance, veillez à définir personnellement le mot de passe racine Management Console et à créer le premier utilisateur dès que possible.
- Copiez le nom DNS public de la machine virtuelle et collez-le dans un navigateur web.
- À l’invite, chargez votre fichier de licence et définissez un mot de passe pour la console de gestion. Pour plus d’informations, consultez « Gestion de votre licence pour GitHub Enterprise ».
- Dans la Management Console, configurez et enregistrez les paramètres de votre choix. Pour plus d’informations, consultez « Configuration de GitHub Enterprise ».
- L’instance redémarre automatiquement.
- Cliquez sur Accéder à votre instance.