Skip to main content

Cette version de GitHub Enterprise Server n'est plus disponible depuis le 2024-03-26. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

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

  • 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 Azure capable de provisionner de nouvelles machines. Pour plus d’informations, consultez le site web Microsoft Azure.
  • La plupart des actions nécessaires pour lancer votre machine virtuelle peuvent également être effectuées à l’aide du portail Azure. Toutefois, nous vous recommandons d’installer l’interface de ligne de commande (CLI) Azure pour la configuration initiale. Vous trouverez ci-dessous des exemples d’utilisation d’Azure CLI 2.0. Pour plus d’informations, consultez le guide Azure Installer l’interface Azure CLI 2.0.

Considérations matérielles

Configuration minimale requise

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 le minimum requis, cela améliorera les performances et la mise à l’échelle de votre instance.

Licences utilisateurProcesseurs virtuels x86-64Mé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.

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

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

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 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 virtuelle

Avant de lancer votre instance GitHub Enterprise Server 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 ».

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.

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": "GitHub:' | 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. 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 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é. 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 ».
  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

Pour configurer l’instance, vous devez confirmer l’état de l’instance, 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.

Avertissement : 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. 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.

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

    1. L’instance redémarre automatiquement.
  4. 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