Préparation de l’instance source de GitHub Enterprise Server
-
Vérifiez que vous êtes administrateur de site de l’instance source de GitHub Enterprise Server. Pour cela, la meilleure méthode consiste à vérifier que vous pouvez accéder à SSH sur l’instance.
-
Générer un jeton d'accès avec les champs d'application
repo
etadmin:org
sur l’instance source de GitHub Enterprise Server. -
Pour réduire le temps d’arrêt, créez une liste de dépôts que vous souhaitez exporter à partir de l’instance source. Vous pouvez ajouter plusieurs dépôts à la fois à une exportation à l’aide d’un fichier texte qui liste l’URL de chaque dépôt sur une ligne distincte.
Exportation des dépôts sources de GitHub Enterprise Server
Note
Le verrouillage d’un dépôt empêche tout accès en écriture à celui-ci. Vous ne pouvez pas associer de nouvelles équipes ou de nouveaux collaborateurs à un dépôt verrouillé.
Si vous effectuez une évaluation, vous n’avez pas besoin de verrouiller le dépôt. Lorsque vous migrez des données à partir d’un dépôt en cours d’utilisation, GitHub recommande vivement de verrouiller le dépôt. Pour plus d’informations, consultez « À propos de ghe-migrator ».
-
Connexion SSH à votre instance GitHub Enterprise Server. Si votre instance comprend plusieurs nœuds, par exemple si la haute disponibilité ou la géoréplication sont configurées, connectez-vous via SSH au nœud principal. Si vous utilisez un cluster, vous pouvez vous connecter via SSH à n’importe quel nœud. Remplacez HOSTNAME par le nom d’hôte de votre instance, le nom d’hôte ou l’adresse IP d’un nœud. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
Pour préparer un dépôt à exporter, utilisez la commande
ghe-migrator add
avec l’URL du dépôt :-
Si vous verrouillez le dépôt, ajoutez
--lock
à la commande. Si vous effectuez un essai,--lock
n’est pas nécessaire.ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock
-
Vous pouvez exclure les fichiers joints en ajoutant
--exclude_attachments
à la commande. Les fichiers joints peuvent être volumineux et risquent d'alourdir inutilement votre archive de migration finale. -
Pour préparer plusieurs dépôts à la fois pour l’exportation, créez un fichier texte listant chaque URL de dépôt sur une ligne distincte, puis exécutez la commande
ghe-migrator add
avec l’indicateur-i
et le chemin de votre fichier texte.ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URL.txt
-
-
Quand vous y êtes invité, entrez votre nom d’utilisateur GitHub Enterprise Server :
Enter username authorized for migration: admin
-
Quand vous êtes invité à entrer un personal access token, entrez le jeton d’accès que vous avez créé à l’étape « Préparation de l’instance source de GitHub Enterprise Server » :
Enter personal access token: **************
-
À la fin de l’exécution de la commande
ghe-migrator add
, elle affiche le « GUID de migration » unique qu’elle a généré pour identifier cette exportation ainsi qu’une liste des ressources qui ont été ajoutées à l’exportation. Vous utiliserez le GUID de migration qu’elle a généré dans les étapesghe-migrator add
etghe-migrator export
suivantes pour indiquer à la commandeghe-migrator
de continuer à fonctionner sur la même exportation.> 101 models added to export > Migration GUID: EXAMPLE-MIGRATION-GUID > Number of records in this migration: > users | 5 > organizations | 1 > repositories | 1 > teams | 3 > protected_branches | 1 > pull_request_reviews | 1 > milestones | 1 > issues | 3 > pull_requests | 5 > pull_request_review_comments | 4 > commit_comments | 2 > issue_comments | 10 > issue_events | 63 > releases | 3 > attachments | 4 > projects | 2
Chaque fois que vous ajoutez un nouveau dépôt avec un GUID de migration existant, l’exportation existante est mise à jour. Si vous réexécutez la commande
ghe-migrator add
sans GUID de migration, elle démarre une nouvelle exportation et génère un nouveau GUID de migration. Ne réutilisez pas le GUID de migration généré pendant une exportation quand vous commencez à préparer votre migration pour l’importation. -
Pour ajouter d’autres dépôts à la même exportation, utilisez la commande
ghe-migrator add
avec l’indicateur-g
. Vous passerez la nouvelle URL du dépôt et le GUID de migration obtenu à l’étape 5 :ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock
-
Quand vous avez terminé d’ajouter des dépôts, générez l’archive de migration à l’aide de la commande
ghe-migrator export
avec l’indicateur-g
et le GUID de migration obtenu à l’étape 5 :$ ghe-migrator export -g MIGRATION-GUID > Archive saved to: /data/github/current/tmp/MIGRATION-GUID.tar.gz
- Pour spécifier où ranger les fichiers de migration, ajoutez
--staging-path=/full/staging/path
à la commande. La valeur par défaut est/data/user/tmp
.
- Pour spécifier où ranger les fichiers de migration, ajoutez
-
Mettez fin à la connexion à votre instance GitHub Enterprise Server :
$ exit > logout > Connection to HOSTNAME closed.
-
Copiez l’archive de migration sur votre ordinateur avec la commande
scp
. Le fichier d’archive est nommé avec le GUID de migration :scp -P 122 admin@HOSTNAME:/data/github/current/tmp/MIGRATION-GUID.tar.gz ~/Desktop
-
Pour préparer les données de migration archivées à importer dans une instance GitHub Enterprise Server, consultez « Migration de données vers GitHub Enterprise Server ».