Application des données importées sur GitHub Enterprise Server
Avant de pouvoir migrer des données vers votre entreprise, vous devez préparer les données et résoudre les conflits éventuels. Pour plus d’informations, consultez « Préparation de la migration de données vers votre entreprise ».
Après avoir préparé les données et résolu les conflits, vous pouvez appliquer les données importées sur GitHub Enterprise Server.
-
En tant qu’administrateur de site, connectez-vous avec SSH à votre instance GitHub Enterprise Server cible.
$ ssh -p 122 admin@HOSTNAME
-
À l’aide de la commande
ghe-migrator import
, démarrez le processus d’importation. Vous devez disposer des éléments suivants :- Votre GUID de migration. Pour plus d’informations, consultez « Préparation de la migration de données vers votre entreprise ».
- Votre personal access token pour l’authentification. Le personal access token que vous utilisez est uniquement destiné à l’authentification en tant qu’administrateur de site et ne nécessite pas d’étendue en particulier. Pour plus d’informations, consultez « Création d’un personal access token ».
$ ghe-migrator import /home/admin/MIGRATION-GUID.tar.gz -g MIGRATION-GUID -u USERNAME -p TOKEN > Starting GitHub::Migrator > Import 100% complete /
- 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
.
Examen des données de migration
Par défaut, ghe-migrator audit
retourne chaque enregistrement. Il vous permet également de filtrer les enregistrements par :
- les types d’enregistrements ;
- l’état des enregistrements.
Les types d’enregistrements correspondent à ceux trouvés dans les données migrées.
Filtres de types d’enregistrement
Type d’enregistrement | Nom du filtre |
---|---|
Utilisateurs | user |
Organisations | organization |
Référentiels | repository |
Teams | team |
Étapes majeures | milestone |
Tableaux de projet | project |
Problèmes | issue |
Commentaires de problème | issue_comment |
Demandes de tirage | pull_request |
Revues de demande de tirage | pull_request_review |
Commentaires de commit | commit_comment |
Commentaires de revues de demande de tirage | pull_request_review_comment |
Versions | release |
Actions effectuées sur les demandes de tirage ou les problèmes | issue_event |
Branches protégées | protected_branch |
Filtres d’états d’enregistrement
État d’enregistrement | Description |
---|---|
export | L’enregistrement sera exporté. |
import | L’enregistrement sera importé. |
map | L’enregistrement sera mappé. |
rename | L’enregistrement sera renommé. |
merge | L’enregistrement sera fusionné. |
exported | L’enregistrement a été exporté avec succès. |
imported | L’enregistrement a été importé avec succès. |
mapped | L’enregistrement a été mappé avec succès. |
renamed | L’enregistrement a été renommé avec succès. |
merged | L’enregistrement a été fusionné avec succès. |
failed_export | L’enregistrement n’a pas pu être exporté. |
failed_import | L’enregistrement n’a pas pu être importé. |
failed_map | L’enregistrement n’a pas pu être mappé. |
failed_rename | L’enregistrement n’a pas pu être renommé. |
failed_merge | L’enregistrement n’a pas pu être fusionné. |
Filtrage des enregistrements audités
Avec la commande ghe-migrator audit
, vous pouvez filtrer en fonction du type d’enregistrement à l’aide de l’indicateur -m
. De même, vous pouvez filtrer sur l’état d’importation à l’aide de l’indicateur -s
. La commande se présente comme suit :
$ ghe-migrator audit -m RECORD_TYPE -s STATE -g MIGRATION-GUID
Par exemple, pour afficher toutes les organisations et équipes importées avec succès, vous pouvez entrer :
$ ghe-migrator audit -m organization,team -s mapped,renamed -g MIGRATION-GUID
> model_name,source_url,target_url,state
> organization,https://gh.source/octo-org/,https://ghe.target/octo-org/,renamed
Nous vous recommandons vivement d’auditer chaque importation qui a échoué. Pour ce faire, vous devez entrer :
$ ghe-migrator audit -s failed_import,failed_map,failed_rename,failed_merge -g MIGRATION-GUID
> model_name,source_url,target_url,state
> user,https://gh.source/octocat,https://gh.target/octocat,failed
> repository,https://gh.source/octo-org/octo-project,https://ghe.target/octo-org/octo-project,failed
Si vous avez des préoccupations concernant les importations ayant échoué, contactez GitHub Enterprise Support.
Fin de l’importation sur GitHub Enterprise Server
Une fois que votre migration a été appliquée à votre instance cible et que vous avez passé en revue la migration, vous pouvez déverrouiller les dépôts et les supprimer de la source. Avant de supprimer vos données sources, nous vous recommandons d’attendre environ deux semaines pour vous assurer que tout fonctionne comme prévu.
Déverrouillage des dépôts sur l’instance cible
-
Connexion SSH à your GitHub Enterprise Server instance. 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. Pour plus d’informations sur l’accès via SSH, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
1. Déverrouillez tous les référentiels importés à l’aide de la commande `ghe-migrator unlock`. Vous aurez besoin de votre GUID de migration :$ ssh -p 122 admin@HOSTNAME
$ ghe-migrator unlock -g MIGRATION-GUID > Unlocked octo-org/octo-project
Déverrouillage des dépôts sur la source
Déverrouillage des dépôts d’une organisation sur GitHub.com
Pour déverrouiller les dépôts d’une organisation GitHub.com, vous devez envoyer une demande DELETE
au point de terminaison de déverrouillage de migration. Vous devez disposer des éléments suivants :
- Votre jeton d’accès pour l’authentification
- L’
id
unique de la migration - Le nom du dépôt à déverrouiller
curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \
-H "Accept: application/vnd.github.wyandotte-preview+json" \
https://api.github.com/orgs/ORG-NAME/migrations/ID/repos/REPO_NAME/lock
Suppression de dépôts d’une organisation sur GitHub.com
Après avoir déverrouillé les dépôts de l’organisation GitHub.com, vous devez supprimer chaque dépôt que vous avez précédemment migré à l’aide du point de terminaison de suppression de dépôt. Vous avez besoin de votre jeton d’accès pour l’authentification :
curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \
https://api.github.com/repos/ORG-NAME/REPO_NAME
Déverrouillage des dépôts à partir d’une instance GitHub Enterprise Server
-
Connexion SSH à your GitHub Enterprise Server instance. 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. Pour plus d’informations sur l’accès via SSH, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
1. Déverrouillez tous les référentiels importés à l’aide de la commande `ghe-migrator unlock`. Vous aurez besoin de votre GUID de migration :$ ssh -p 122 admin@HOSTNAME
$ ghe-migrator unlock -g MIGRATION-GUID > Unlocked octo-org/octo-project