À propos des instances intermédiaires
GitHub recommande de configurer un environnement distinct pour tester les sauvegardes, les mises à jour ou les modifications apportées à la configuration pour votre instance GitHub Enterprise Server. Cet environnement, que vous devez isoler de vos systèmes de production, est appelé environnement intermédiaire.
Par exemple, pour vous protéger contre la perte de données, vous pouvez régulièrement valider la sauvegarde de votre instance de production. Vous pouvez restaurer régulièrement la sauvegarde de vos données de production sur une instance distincte GitHub Enterprise Server dans un environnement intermédiaire. Sur cette instance de préproduction, vous pourriez également tester la mise à niveau vers la dernière version fonctionnelle de GitHub Enterprise Server.
Conseil
Vous pouvez réutiliser votre fichier de licence existant GitHub Enterprise tant que l’instance intermédiaire n’est pas utilisée dans une capacité de production.
Considérations relatives à un environnement intermédiaire
Pour tester GitHub Enterprise Server et recréer un environnement aussi similaire à votre environnement de production que possible, tenez compte des systèmes externes qui interagissent avec votre instance. Par exemple, vous pouvez tester les éléments suivants dans votre environnement intermédiaire.
- Authentification, en particulier si vous utilisez un fournisseur d’authentification externe comme SAML
- Intégration à un système de gestion de tickets externe
- Intégration à un serveur d’intégration continue
- Scripts externes ou logiciels qui utilisent le GitHub Enterprise Server APIs
- Serveur SMTP externe pour les notifications par e-mail
Configuration d’une instance de préproduction
Vous pouvez configurer une instance de préproduction à partir de zéro, comme vous le souhaitez. Pour plus d’informations, consultez « Configuration d’une instance GitHub Enterprise Server » et « Configuration de GitHub Entreprise ».
Vous pouvez également créer une instance de préproduction qui reflète votre configuration de production en restaurant une sauvegarde de votre instance de production sur l’instance de préproduction.
- Sauvegarder votre instance de production.
- Configurer une instance de préproduction.
- Configurer GitHub Actions.
- Configurez GitHub Packages.
- Restaurer votre sauvegarde de production.
- Passer en revue la configuration de l’instance.
- Appliquer la configuration de l’instance.
1. Sauvegarder votre instance de production
Si vous souhaitez tester les modifications sur une instance qui contient les mêmes données et configuration que votre instance de production, sauvegardez les données et la configuration à partir de l’instance de production à l’aide GitHub Enterprise Server Backup Utilitiesde . Pour plus d’informations, consultez « Configuration des sauvegardes sur votre instance avec les utilitaires de sauvegarde ».
Avertissement
Si vous utilisez GitHub Actions ou GitHub Packages en production, votre sauvegarde inclut votre configuration de production pour le stockage externe. Pour éviter toute perte potentielle de données en écrivant sur votre stockage de production à partir de l’instance de préproduction, vous devez configurer chaque fonctionnalité aux étapes 3 et 4 avant de restaurer la sauvegarde.
2. Configurer une instance de préproduction
Configurez une nouvelle instance qui jouera le rôle d’environnement de préproduction. Lorsque vous suivez le processus de configuration, veillez à sélectionner l’option Nouvelle installation. Cela garantira que votre environnement intermédiaire est correctement initialisé et prêt à restaurer une sauvegarde si nécessaire.
Vous pouvez utiliser les mêmes guides pour le provisionnement et l’installation de votre instance de préproduction que ceux utilisés pour votre instance de production. Pour plus d’informations, consultez « Configuration d’une instance GitHub Enterprise Server ».
Si vous comptez restaurer une sauvegarde de votre instance de production, passez à l’étape suivante. Vous pouvez également configurer l’instance manuellement, et ignorer les étapes suivantes.
Avertissement
La restauration des sauvegardes avec GitHub Actions n’aboutira pas sur une instance non configurée. Pour activer GitHub Actions, une instance avec un nom d’hôte configuré est requise. Pour plus d’informations, consultez « Configuration du nom d'hôte pour votre instance ».
3. Configurer GitHub Actions
Si vous le souhaitez, si vous utilisez GitHub Actions sur votre instance de production, configurez la fonctionnalité sur l’instance de préproduction avant de restaurer votre sauvegarde de production. Si vous n’utilisez GitHub Actionspas, passez à Configurer GitHub Packages.
Pour configurer GitHub Actions sur votre instance de préproduction, utilisez Console de gestion.
Console de gestion fournit une interface sécurisée accessible via un navigateur pour la configuration de bas niveau de votre instance GitHub Enterprise Server, y compris GitHub Actions. Toutes les modifications de configuration sont auditées et l’accès est protégé par des identifiants dédiés et des contrôles réseau.
Avertissement
Si vous ne configurez GitHub Actions pas l’instance intermédiaire avant de restaurer votre sauvegarde de production, votre instance intermédiaire utilisera le stockage externe de votre instance de production, ce qui peut entraîner une perte de données. Nous vous recommandons vivement d’utiliser un stockage externe différent pour votre instance intermédiaire. Pour plus d’informations, consultez « Utilisation d’un environnement intermédiaire ».
-
Accédez au Console de gestion. Consultez « Accès à la console de gestion ».
-
Dans la barre latérale, ouvrez l’onglet Actions.
-
Activez GitHub Actions en cochant Activer GitHub Actions.
-
Sélectionnez votre fournisseur de stockage externe pour le stockage des artefacts et des journaux.
-
Entrez les informations de stockage et d’authentification requises pour le fournisseur choisi.
-
Testez votre configuration en cliquant sur Tester les paramètres de stockage, puis cliquez sur Enregistrer les paramètres.
Une fois que vous avez configuré et activé GitHub Actions, passez à l’étape suivante.
4. Configurer GitHub Packages
Si vous le souhaitez, si vous utilisez GitHub Packages sur votre instance de production, configurez la fonctionnalité sur l’instance de préproduction avant de restaurer votre sauvegarde de production. Si vous n’utilisez GitHub Packagespas, passez à restaurer votre sauvegarde de production.
Avertissement
Si vous ne configurez GitHub Packages pas l’instance intermédiaire avant de restaurer votre sauvegarde de production, votre instance intermédiaire utilisera le stockage externe de votre instance de production, ce qui peut entraîner une perte de données. Nous vous recommandons vivement d’utiliser un stockage externe différent pour votre instance intermédiaire. Pour plus d’informations, consultez « Utilisation d’un environnement intermédiaire ».
Pour configurer GitHub Packages pour votre instance de préproduction :
- Accédez au Console de gestion. Consultez Accéder à la console de gestion.
- Dans la barre latérale, ouvrez l’onglet Packages.
- Activez GitHub Packages en cochant la case Enable GitHub Packages.
- Sous Paramètres de stockage des packages, sélectionnez votre fournisseur de stockage externe.
- Testez votre configuration de stockage en cliquant sur Tester les paramètres de stockage.
- Cliquez sur Enregistrer les paramètres pour appliquer votre configuration.
Remarque
Vous pouvez utiliser les boutons de basculement de l’écosystème pour activer, désactiver ou définir des types de packages individuels en lecture seule pour votre instance, selon vos besoins.
5. Restaurer votre sauvegarde de production
Utilisez la commande ghe-restore pour restaurer le reste des données à partir de la sauvegarde. Pour plus d’informations, consultez « Configuration des sauvegardes sur votre instance avec les utilitaires de sauvegarde ».
Si l’instance de préproduction est déjà configurée et si vous souhaitez remplacer les paramètres, le certificat et les données de licence, ajoutez l’option -c à la commande. Pour plus d’informations sur l’option, consultez Utilisation des commandes de sauvegarde et de restauration dans la GitHub Enterprise Server Backup Utilities documentation.
6. Passer en revue la configuration de l’instance
Pour accéder à l'instance intermédiaire à l'aide du même nom d'hôte, mettez à jour votre fichier hosts local pour résoudre le nom d'hôte de l'instance intermédiaire par adresse IP en modifiant le fichier /etc/hosts dans macOS ou Linux, ou le fichier C:\Windows\system32\drivers\etc dans Windows.
Remarque
Votre instance de préproduction doit être accessible à partir du même nom d’hôte que votre instance de production. La modification du nom d’hôte pour votre instance GitHub Enterprise Server n’est pas prise en charge. Pour plus d’informations, consultez « Configuration du nom d'hôte pour votre instance ».
Ensuite, passez en revue la configuration de l’instance intermédiaire dans le Console de gestion. Pour plus d’informations, consultez « Géstion de votre instance à partir de l’IU WEB. ».
Avertissement
Si vous avez configuré GitHub Actions ou GitHub Packages pour l’instance intermédiaire, pour éviter de remplacer les données de production, assurez-vous que la configuration de stockage externe dans l’instance Console de gestion de production ne correspond pas à votre instance de production.
7. Appliquer la configuration de l’instance
Pour appliquer la configuration à partir de l’élément Console de gestion, cliquez sur Enregistrer les paramètres.
Remettre en ligne une instance intermédiaire
Vous souhaiterez peut-être éteindre une instance intermédiaire pour économiser les coûts et la réactiver si nécessaire.
Une instance peut rester hors connexion pendant 60 jours.
Si vous ramenez l’instance en ligne dans la période de temps hors connexion autorisée, GitHub Enterprise Server instancie correctement. Si l’instance reste hors connexion pendant plus longtemps que la période autorisée, GitHub Enterprise Server ne parvient pas à instancier correctement et un message d’erreur avec le texte server has been offline for more than the configured server_rejoin_age_max peut apparaître dans les journaux système. Consultez « À propos des journaux système ».
Si l’instance est bloquée dans l’état d’erreur, vous pouvez exécuter ces commandes pour récupérer.
sudo mv /data/user/consul/server_metadata.json /data/user/consul/server_metadata.json.bak
ghe-config-apply