Skip to main content

Installation de GitHub Enterprise Server sur Azure

Pour installer GitHub Enterprise Server sur Azure, vous devez le déployer sur une instance à mémoire optimisée qui prend en charge le stockage Premium.

Vous pouvez déployer GitHub Enterprise Server sur Azure international ou Azure Government.

Prérequis

Considérations matérielles

Configuration minimale requise

Nous recommandons différentes configurations matérielles en fonction du nombre de licences utilisateur pour your GitHub Enterprise Server instance. Si vous approvisionnez plus de ressources que le minimum requis, cela améliorera les performances et la mise à l’échelle de votre instance.

Licences utilisateurProcesseurs virtuelsMémoireStockage racineStockage (de données) attaché
Essai, démonstration ou 10 utilisateurs légers432 Go200 Go150 Go
10 à 3 000848 Go200 Go300 Go
3 000 à 5 0001264 Go200 Go500 Go
5 000 à 8 0001696 Go200 Go750 Go
8 000 à 10 000+20160 Go200 Go1 000 Go

Si vous envisagez d’activer GitHub Actions pour les utilisateurs de votre instance, d’autres ressources sont requises.

Processeurs virtuelsMémoireConcurrence maximale
864 Go300 travaux
16128 Go700 travaux
32160 Go1 500 travaux
64256 Go2 500 travaux
96384 Go4 500 travaux
128550 Go5 000 travaux

Pour plus d’informations sur ces exigences, consultez « Bien démarrer avec GitHub Actions pour GitHub Enterprise Server ».

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

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.

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

Lorsque vous augmentez les ressources du processeur, nous vous recommandons 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.

Avertissement : 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 du niveau de performance de GitHub Enterprise Server, consultez « Supervision de votre appliance ».

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 virtuelle

Avant de lancer your GitHub Enterprise Server instance sur Azure, vous devez déterminer le type de machine qui répond le mieux aux besoins de votre organisation. Pour plus d’informations sur les machines à mémoire optimisée, consultez Tailles de machine virtuelle à mémoire optimisée dans la documentation Microsoft Azure. Pour voir les exigences minimales de ressources pour GitHub Enterprise Server, consultez « Configuration minimale requise ».

Remarque : Vous pouvez toujours faire un scale-up de votre processeur ou de votre mémoire en redimensionnant votre instance. Toutefois, parce que le redimensionnement de votre processeur ou de votre mémoire nécessite un temps d’arrêt pour vos utilisateurs, nous vous recommandons de surprovisionner les ressources pour prendre en compte la mise à l’échelle.

L’appliance GitHub Enterprise Server nécessite un disque de données de stockage Premium et est prise en charge sur n’importe quelle machine virtuelle Azure qui prend en charge le stockage Premium. Les types de machines virtuelles Azure avec le suffixe s prennent en charge le stockage Premium. Pour plus d’informations, consultez Quels sont les types de disque disponibles dans Azure ? et « Stockage Azure Premium : conception sous le signe de la haute performance » dans la documentation Azure.

GitHub recommande une machine virtuelle optimisée en mémoire pour GitHub Enterprise Server. Pour plus d’informations, consultez « Tailles de machine virtuelle à mémoire optimisée » dans la documentation Azure.

GitHub Enterprise Server prend en charge n’importe quelle région qui prend en charge votre type de machine virtuelle. Pour plus d’informations sur les régions prises en charge pour chaque machine virtuelle, consultez « Disponibilité des produits par région » d’Azure.

Création de la machine virtuelle GitHub Enterprise Server

Pour créer l’instance, vous devez importer l’image GitHub Enterprise Server sur votre machine virtuelle et attacher un volume de stockage supplémentaire pour vos données d’instance. Pour plus d’informations, consultez « Considérations matérielles ».

  1. Recherchez l’image de l’appliance GitHub Enterprise Server la plus récente. Pour plus d’informations sur la commande vm image list, consultez « az vm image list » dans la documentation Microsoft.

    $ az vm image list --all -f GitHub-Enterprise | grep '"urn":' | sort -V
  2. Créez une machine virtuelle avec l’image de l’appliance que vous avez trouvée. Pour plus d’informations, consultez « az vm create » dans la documentation Microsoft.

    Passez des options pour le nom de votre machine virtuelle, le groupe de ressources, la taille de votre machine virtuelle, le nom de votre région Azure préférée, le nom de la machine virtuelle d’image de l’appliance que vous avez obtenu à l’étape précédente et la référence SKU de stockage pour le stockage Premium. Pour plus d’informations sur les groupes de ressources, consultez « Groupes de ressources » dans la documentation Microsoft.

    $ az vm create -n VM_NAME -g RESOURCE_GROUP --size VM_SIZE -l REGION --image APPLIANCE_IMAGE_NAME --storage-sku Premium_LRS
  3. Configurez les paramètres de sécurité sur votre machine virtuelle pour ouvrir les ports requis. Pour plus d’informations, consultez « az vm open-port » dans la documentation Microsoft. Consultez le tableau ci-dessous pour obtenir une description de chaque port afin de déterminer les ports que vous devez ouvrir.

    $ az vm open-port -n VM_NAME -g RESOURCE_GROUP --port PORT_NUMBER

    Ce tableau identifie le rôle de chaque port.

    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é.
    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 ».
  4. Créez un disque de données non chiffré, attachez-le à la machine virtuelle et configurez la taille en fonction du nombre de licences utilisateur. Pour plus d’informations, consultez « az vm disk attach » dans la documentation Microsoft.

    Passez des options pour le nom de votre machine virtuelle (par exemple, ghe-acme-corp), le groupe de ressources, la référence SKU de stockage Premium, la taille du disque (par exemple, 200) et un nom pour le disque dur virtuel obtenu.

    $ az vm disk attach --vm-name VM_NAME -g RESOURCE_GROUP --sku Premium_LRS --new -z SIZE_IN_GB --name ghe-data.vhd --caching ReadWrite

    Remarque : Pour que les instances de non-production disposent d’un débit d’E/S suffisant, la taille minimale recommandée du disque est de 150 Gio avec cache en lecture/écriture activé (--caching ReadWrite).

Configuration de la machine virtuelle GitHub Enterprise Server

  1. Avant de configurer la machine virtuelle, vous devez attendre qu’elle passe à l’état ReadyRole. Vérifiez l’état de la machine virtuelle avec la commande vm list. Pour plus d’informations, consultez « az vm list » dans la documentation Microsoft.

    $ az vm list -d -g RESOURCE_GROUP -o table
    > Name    ResourceGroup    PowerState    PublicIps     Fqdns    Location    Zones
    > ------  ---------------  ------------  ------------  -------  ----------  -------
    > VM_NAME RESOURCE_GROUP   VM running    40.76.79.202           eastus
    

    Remarque : Azure ne crée pas automatiquement une entrée FQDNS pour la machine virtuelle. Pour plus d’informations, consultez le guide Azure « Créer un nom de domaine complet pour une machine virtuelle Linux dans le portail Azure ».

  2. 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 l’appliance GitHub Enterprise Server ».

  3. L’instance redémarre automatiquement. 1. Cliquez sur Accéder à votre instance.

Fonctionnalités d’extension Azure

GitHub Enterprise Server ne prend pas en charge l’installation des fonctionnalités d’extension Azure. L’image GitHub Enterprise Server est fournie avec un package waagent personnalisé qui prend uniquement en charge les fonctions de gestion de machines virtuelles de base et bloque les fonctions de gestion de machines virtuelles avancées.

Pour éviter l’instabilité du système de votre instance GitHub Enterprise Server, le service walinuxagent est exécuté intentionnellement dans GitHub Enterprise Server en mode restreint, ce qui empêche explicitement l’agent de pouvoir installer d’autres agents. Les fonctionnalités de gestion de machines virtuelles qui s’appuient sur des agents et extensions autres que ceux fournis avec l’image GitHub Enterprise Server, comme l’extension Monitoring Agent pour Azure Insights ou Sauvegarde Azure, ne sont pas prises en charge.

Étant donné que GitHub Enterprise Server exécute un système d’exploitation Linux personnalisé avec uniquement les applications et services nécessaires, l’installation ou la mise à jour manuelle des packages de système d’exploitation remplace ces personnalisations et peut entraîner un comportement inattendu. Pour plus d’informations, consultez « Vue d’ensemble du système ».

Pour aller plus loin