Skip to main content

Installation de GitHub Enterprise Server sur Google Cloud Platform

Pour installer GitHub Enterprise Server sur Google Cloud Platform, vous devez le déployer sur un type d’ordinateur pris en charge et utiliser un disque standard persistant ou un disque SSD persistant.

Prérequis

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 utilisateurProcesseurs virtuels x86-64MémoireStockage racineStockage (de données) attachéD’OPÉRATIONS D’E/S PAR SECONDE
Essai, démonstration ou 10 utilisateurs légers432 Go400 Go500 Go600
Jusqu’à 1 000848 Go400 Go500 Go3000
1 000 à 3 0001664 Go400 Go1 000 Go6000
3 000 à 5 00032128 Go400 Go1 500 Go9000
5 000 à 8 00048256 Go400 Go3 000 Go12 000
8 000 à 10 000+64512 Go400 Go5 000 Go15000

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 200 Go disponibles sur le système de fichiers racine. Les 200 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

  1. À 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
    
  2. 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.

  1. À 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
    
  2. 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.

    PortServiceDescription
    22SSHAccè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.
    25SMTPPrise en charge de SMTP avec chiffrement (STARTTLS).
    80HTTPAccès aux applications web. Toutes les requêtes sont redirigées vers le port HTTPS lorsque SSL est activé.
    122SSHAccè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/UDPSNMPNécessaire au fonctionnement du protocole de supervision de réseau.
    443HTTPSAccès aux applications web et à Git via HTTPS.
    1194/UDPVPNTunnel de réseau de réplication sécurisé dans une configuration à haute disponibilité. Chiffré à l’aide de WireGuard.
    8080HTTPManagement Console web en texte brut. Non obligatoire, sauf si SSL est désactivé manuellement.
    8443HTTPSManagement Console web sécurisée. Requis pour l’installation et la configuration de base.
    9418GitPort 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 ».

  1. À 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
    
  2. 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.

  1. Copiez le nom DNS public de la machine virtuelle et collez-le dans un navigateur web.
  2. À 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 ».
  3. Dans la Management Console, configurez et enregistrez les paramètres de votre choix. Pour plus d’informations, consultez « Configuration de GitHub Enterprise ».
  4. L’instance redémarre automatiquement.
  5. Cliquez sur Accéder à votre instance.

Pour aller plus loin