{"meta":{"title":"Exportation de données de migration à partir de GitHub Enterprise Server","intro":"Pour modifier les plateformes ou passer d’une instance d’évaluation à une instance de production, vous pouvez exporter des données de migration à partir d’une GitHub Enterprise Server instance en préparant l’instance, en verrouillant les référentiels et en générant une archive de migration.","product":"Migrations","breadcrumbs":[{"href":"/fr/migrations","title":"Migrations"},{"href":"/fr/migrations/using-ghe-migrator","title":"ghe-migrator"},{"href":"/fr/migrations/using-ghe-migrator/exporting-migration-data-from-github-enterprise-server","title":"Exporter à partir de GHES"}],"documentType":"article"},"body":"# Exportation de données de migration à partir de GitHub Enterprise Server\n\nPour modifier les plateformes ou passer d’une instance d’évaluation à une instance de production, vous pouvez exporter des données de migration à partir d’une GitHub Enterprise Server instance en préparant l’instance, en verrouillant les référentiels et en générant une archive de migration.\n\n## Préparation de l’instance GitHub Enterprise Server source\n\n1. Vérifiez que vous êtes administrateur de site sur la GitHub Enterprise Server source. Pour cela, la meilleure méthode consiste à vérifier que vous pouvez [accéder à SSH sur l’instance](/fr/enterprise-server@3.22/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh).\n\n2. [Générer un jeton d'accès ](/fr/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) avec les champs d'application `repo` et `admin:org` sur l’instance GitHub Enterprise Server source.\n\n3. 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.\n\n## Exportation des GitHub Enterprise Server référentiels sources\n\n> \\[!NOTE]\n> 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é.\n>\n> 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](/fr/migrations/using-ghe-migrator/about-ghe-migrator#types-of-migrations) ».\n\n1. SSH dans GitHub.com. 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)](/fr/enterprise-server@3.22/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh) ».\n\n   ```shell copy\n   ssh -p 122 admin@HOSTNAME\n   ```\n\n2. Pour préparer un dépôt à exporter, utilisez la commande `ghe-migrator add` avec l’URL du dépôt :\n   * Si vous verrouillez le dépôt, ajoutez `--lock` à la commande. Si vous effectuez un essai, `--lock` n’est pas nécessaire.\n\n     ```shell\n     ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock\n     ```\n\n   * 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.\n\n   * 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.\n\n     ```shell\n     ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URL.txt\n     ```\n\n3. Lorsque vous y êtes invité, entrez votre GitHub Enterprise Server nom d’utilisateur :\n\n   ```shell\n   Enter username authorized for migration:  admin\n   ```\n\n4. Lorsque vous y êtes invité personal access token, entrez le jeton d’accès que vous avez créé lors de [la préparation de l’instance GitHub Enterprise Server source](#preparing-the-github-enterprise-server-source-instance) :\n\n   ```shell\n   Enter personal access token:  **************\n   ```\n\n5. À 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 étapes `ghe-migrator add` et `ghe-migrator export` suivantes pour indiquer à la commande `ghe-migrator` de continuer à fonctionner sur la même exportation.\n\n   ```shell\n   > 101 models added to export\n   > Migration GUID: EXAMPLE-MIGRATION-GUID\n   > Number of records in this migration:\n   > users                        |  5\n   > organizations                |  1\n   > repositories                 |  1\n   > teams                        |  3\n   > protected_branches           |  1\n   > pull_request_reviews         |  1\n   > milestones                   |  1\n   > issues                       |  3\n   > pull_requests                |  5\n   > pull_request_review_comments |  4\n   > commit_comments              |  2\n   > issue_comments               | 10\n   > issue_events                 | 63\n   > releases                     |  3\n   > attachments                  |  4\n   > projects                     |  2\n   ```\n\n   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.\n   **Ne réutilisez pas le GUID de migration généré pendant une exportation quand vous commencez à préparer votre migration pour l’importation**.\n\n6. 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 :\n\n   ```shell\n   ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock\n   ```\n\n7. 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 :\n\n   ```shell\n   $ ghe-migrator export -g MIGRATION-GUID\n   > Archive saved to: /data/github/current/tmp/MIGRATION-GUID.tar.gz\n   ```\n\n   * 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`.\n\n8. Fermez la connexion à GitHub.com:\n\n   ```shell\n   $ exit\n   > logout\n   > Connection to HOSTNAME closed.\n   ```\n\n9. Copiez l’archive de migration sur votre ordinateur avec la commande [`scp`](https://acloudguru.com/blog/engineering/ssh-and-scp-howto-tips-tricks#scp). Le fichier d’archive est nommé avec le GUID de migration :\n\n   ```shell\n   scp -P 122 admin@HOSTNAME:/data/github/current/tmp/MIGRATION-GUID.tar.gz ~/Desktop\n   ```\n\n10. 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](/fr/migrations/using-ghe-migrator/migrating-data-to-github-enterprise-server#preparing-the-migrated-data)."}