Migrer un dépôt Git vers AWS CodeCommit - AWS CodeCommit

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migrer un dépôt Git vers AWS CodeCommit

Vous pouvez migrer un dépôt Git existant vers un CodeCommit dépôt. Les procédures décrites dans cette rubrique vous montrent comment migrer un projet hébergé sur un autre référentiel Git vers CodeCommit. Dans le cadre de ce processus, vous allez :

  • Effectuez la configuration initiale requise pour CodeCommit.

  • Créez un CodeCommit référentiel.

  • Clonez le dépôt et envoyez-le vers CodeCommit.

  • Afficher les fichiers dans le CodeCommit référentiel.

  • Partagez le CodeCommit référentiel avec votre équipe.

Migration d'un dépôt Git vers CodeCommit

Étape 0 : Configuration requise pour accéder à CodeCommit

Avant de pouvoir migrer un référentiel vers CodeCommit celui-ci, vous devez créer et configurer un utilisateur IAM CodeCommit et configurer l'accès à votre ordinateur local. Vous devez également installer l'AWS CLI pour gérer CodeCommit. Bien que vous puissiez effectuer la plupart des CodeCommit tâches sans lui, il AWS CLI offre de la flexibilité lorsque vous travaillez avec Git sur la ligne de commande ou sur le terminal.

Si vous êtes déjà configuré pour CodeCommit, vous pouvez passer àÉtape 1 : Création d'un CodeCommit référentiel.

Pour créer et configurer un utilisateur IAM pour accéder CodeCommit
  1. Créez un compte Amazon Web Services en accédant à http://aws.amazon.com et en choisissant S'inscrire.

  2. Créez un utilisateur IAM ou utilisez-en un existant dans votre compte Amazon Web Services. Assurez-vous que vous disposez d'un identifiant de clé d'accès et d'une clé d'accès secrète associés à cet utilisateur IAM. Pour plus d'informations, consultez Création d'un utilisateur IAM dans votre compte Amazon Web Services.

    Note

    CodeCommit nécessiteAWS Key Management Service. Si vous utilisez un utilisateur IAM existant, assurez-vous qu'aucune politique attachée à cet utilisateur ne refuse expressément les AWS KMS actions requises par CodeCommit. Pour plus d'informations, consultez AWS KMSet chiffrement.

  3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  4. Dans la console IAM, dans le volet de navigation, choisissez Utilisateurs, puis choisissez l'utilisateur IAM que vous souhaitez configurer pour CodeCommit l'accès.

  5. Sous l'onglet Autorisations, choisissez Ajouter des autorisations.

  6. Pour Accorder des autorisations, choisissez Attacher directement les stratégies existantes.

  7. Dans la liste des politiques, sélectionnez AWSCodeCommitPowerUserou une autre politique gérée pour CodeCommit l'accès. Pour plus d'informations, consultez AWS politiques gérées pour CodeCommit.

    Après avoir sélectionné la politique que vous souhaitez joindre, choisissez Next : Review pour consulter la liste des politiques à associer à l'utilisateur IAM. Si la liste est correcte, choisissez Add permissions.

    Pour plus d'informations sur les politiques CodeCommit gérées et le partage de l'accès aux référentiels avec d'autres groupes et utilisateurs, consultez Partage d'un référentiel etAuthentification et contrôle d'accès pour AWS CodeCommit.

Pour installer et configurer le AWS CLI
  1. Sur votre ordinateur local, téléchargez et installez l'AWS CLI. C'est une condition préalable pour interagir avec CodeCommit depuis la ligne de commande. Nous vous recommandons d'installer AWS CLI la version 2. Il s'agit de la version majeure la plus récente de AWS CLI et prend en charge toutes les dernières fonctionnalités. Il s'agit de la seule version AWS CLI qui prend en charge l'utilisation d'un compte root, d'un accès fédéré ou d'informations d'identification temporaires avecgit-remote-codecommit.

    Pour plus d'informations, consultez Préparation de l'installation de l'interface de ligne de commande AWS.

    Note

    CodeCommit fonctionne uniquement avec AWS CLI les versions 1.7.38 et ultérieures. Il est recommandé d'installer ou de mettre à niveau la version de l'AWS CLI la plus récente disponible. Pour déterminer quelle version de l'AWS CLI vous avez installée, exécutez la commande aws --version.

    Pour mettre à niveau une ancienne version de l'AWS CLI vers la version la plus récente, consultez Installation de l'AWS Command Line Interface.

  2. Exécutez cette commande pour vérifier que les CodeCommit commandes correspondantes AWS CLI sont installées.

    aws codecommit help

    Cette commande renvoie une liste de CodeCommit commandes.

  3. Configurez le AWS CLI avec un profil à l'aide de la configure commande, comme suit :.

    aws configure

    Lorsque vous y êtes invité, spécifiez la clé AWS d'accès et la clé d'accès AWS secrète de l'utilisateur IAM à utiliser avec CodeCommit. Assurez-vous également de spécifier l'Région AWSendroit où se trouve le référentiel, par exempleus-east-2. Lorsque vous êtes invité à saisir le format de sortie par défaut, entrez json. Par exemple, si vous configurez un profil pour un utilisateur IAM :

    AWS Access Key ID [None]: Type your IAM user AWS access key ID here, and then press Enter AWS Secret Access Key [None]: Type your IAM user AWS secret access key here, and then press Enter Default region name [None]: Type a supported region for CodeCommit here, and then press Enter Default output format [None]: Type json here, and then press Enter

    Pour plus d'informations sur la création et la configuration des profils à utiliser avec l'AWS CLI, consultez les rubriques suivantes :

    Pour vous connecter à un référentiel ou à une ressource d'un autreRégion AWS, vous devez le reconfigurer AWS CLI avec le nom de région par défaut. Les noms de région par défaut pris en charge CodeCommit incluent :

    • us-east-2

    • us-east-1

    • eu-west-1

    • us-west-2

    • ap-northeast-1

    • ap-southeast-1

    • ap-southeast-2

    • ap-southeast-3

    • me-central-1

    • eu-central-1

    • ap-northeast-2

    • sa-east-1

    • us-west-1

    • eu-west-2

    • ap-south-1

    • ap-south-1

    • ca-central-1

    • us-gov-west-1

    • us-gov-east-1

    • eu-north-1

    • ap-east-1

    • me-south-1

    • cn-north-1

    • cn-northwest-1

    • eu-south-1

    • ap-northeast-3

    • af-south-1

    • il-central-1

    Pour plus d'informations sur CodeCommit etRégion AWS, voirRégions et points de terminaison de connexion Git. Pour plus d'informations sur l'IAM, les clés d'accès et les clés secrètes, voir Comment obtenir des informations d'identification ? et Gestion des clés d'accès pour les utilisateurs IAM. Pour de plus amples informations sur l'AWS CLI et sur les profils, veuillez consulter Profils nommés.

Ensuite, vous devez installer Git.

  • Pour Linux, macOS ou Unix :

    Pour utiliser des fichiers, des validations et d'autres informations dans CodeCommit des référentiels, vous devez installer Git sur votre machine locale. CodeCommit prend en charge les versions 1.7.9 et ultérieures de Git. La version 2.28 de Git permet de configurer le nom de branche pour les validations initiales. Nous vous recommandons d'utiliser une version récente de Git.

    Pour installer Git, nous recommandons des sites Web tels que Git Downloads.

    Note

    Git est une plateforme évolutive et régulièrement mise à jour. Parfois, une modification de fonctionnalité peut affecter son fonctionnement CodeCommit. Si vous rencontrez des problèmes avec une version spécifique de Git CodeCommit, consultez les informations contenues dansRésolution des problèmes.

  • Pour Windows:

    Pour utiliser des fichiers, des validations et d'autres informations dans CodeCommit des référentiels, vous devez installer Git sur votre machine locale. CodeCommit prend en charge les versions 1.7.9 et ultérieures de Git. La version 2.28 de Git permet de configurer le nom de branche pour les validations initiales. Nous vous recommandons d'utiliser une version récente de Git.

    Pour installer Git, nous recommandons des sites Web tels que Git pour Windows. Si vous utilisez ce lien pour installer Git, vous pouvez accepter tous les paramètres d'installation par défaut, à l'exception des suivants :

    Note

    Git est une plateforme évolutive et régulièrement mise à jour. Parfois, une modification de fonctionnalité peut affecter son fonctionnement CodeCommit. Si vous rencontrez des problèmes avec une version spécifique de Git CodeCommit, consultez les informations contenues dansRésolution des problèmes.

CodeCommit prend en charge l'authentification HTTPS et SSH. Pour terminer la configuration, vous devez configurer les informations d'identification Git pour CodeCommit (HTTPS, recommandé pour la plupart des utilisateurs), une paire de clés SSH à utiliser lors de l'accès CodeCommit (SSH) git-remote-codecommit (recommandé pour les utilisateurs utilisant un accès fédéré) ou l'assistant d'identification inclus dans le (HTTPS). AWS CLI

Étape 1 : Création d'un CodeCommit référentiel

Dans cette section, vous allez utiliser la CodeCommit console pour créer le CodeCommit référentiel que vous utiliserez pour le reste de ce didacticiel. Pour utiliser l'AWS CLI afin de créer le référentiel, consultez Création d'un référentiel (AWS CLI).

  1. Ouvrez la CodeCommit console à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

  2. Dans le sélecteur de région, choisissez l'Région AWSendroit où vous souhaitez créer le référentiel. Pour plus d'informations, consultez Régions et points de terminaison de connexion Git.

  3. Dans la page Référentiels, choisissez Créer un référentiel.

  4. Sur la page Créer un référentiel, dans Nom de référentiel, saisissez un nom pour le référentiel.

    Note

    Les noms de référentiel sont sensibles à la casse. Le nom doit être unique dans le nom Région AWS de votre compte Amazon Web Services.

  5. (Facultatif) Dans la zone Description, saisissez une description pour le référentiel. Cela peut aider d'autres utilisateurs et vous-même à identifier la fonction du référentiel.

    Note

    Le champ de description affiche Markdown dans la console et accepte tous les caractères HTML et les caractères Unicode valides. Si vous êtes un développeur d'applications qui utilise les BatchGetRepositories API GetRepository or et que vous envisagez d'afficher le champ de description du référentiel dans un navigateur Web, consultez la référence des CodeCommit API.

  6. (Facultatif) Choisissez Add tag (Ajouter une balise) pour ajouter une ou plusieurs balises de référentiel (une étiquette d'attribut personnalisée qui vous aide à organiser et gérer vos ressources AWS) à votre référentiel. Pour plus d'informations, consultez Marquage des référentiels dans AWS CodeCommit.

  7. (Facultatif) Développez la configuration supplémentaire pour indiquer si vous souhaitez utiliser la clé par défaut Clé gérée par AWS ou la clé gérée par le client pour chiffrer et déchiffrer les données de ce référentiel. Si vous choisissez d'utiliser votre propre clé gérée par le client, vous devez vous assurer qu'elle est disponible Région AWS là où vous créez le référentiel et que la clé est active. Pour plus d'informations, consultez AWS Key Management Serviceet chiffrement pour les AWS CodeCommit référentiels.

  8. (Facultatif) Sélectionnez Activer Amazon CodeGuru Reviewer pour Java et Python si ce référentiel contient du code Java ou Python et que vous souhaitez que CodeGuru Reviewer l'analyse. CodeGuru Reviewer utilise plusieurs modèles d'apprentissage automatique pour détecter les défauts du code et suggérer des améliorations et des corrections dans les pull requests. Pour plus d'informations, consultez le guide de l'utilisateur Amazon CodeGuru Reviewer.

  9. Choisissez Créer.

Création d'un dépôt pour la migration d'un dépôt Git vers CodeCommit

Une fois qu'il a été créé, le référentiel s'affiche dans la liste Référentiels. Dans la colonne URL, sélectionnez l'icône de copie, puis choisissez le protocole (SSH ou HTTPS) à utiliser pour vous connecter à CodeCommit. Copiez l'URL.

Par exemple, si vous avez nommé votre dépôt MyClonedRepositoryet que vous utilisez les informations d'identification Git avec HTTPS dans la région USA Est (Ohio), l'URL ressemble à ce qui suit :

https://git-codecommit.us-east-2.amazonaws.com/MyClonedRepository

Vous aurez besoin de cette URL plus tard dans Étape 2 : Cloner le référentiel et le transférer vers le CodeCommit référentiel.

Étape 2 : Cloner le référentiel et le transférer vers le CodeCommit référentiel

Dans cette section, vous allez cloner un référentiel Git sur votre ordinateur local, en créant ce qu'on appelle un référentiel local. Vous pouvez ensuite transférer le contenu du dépôt local vers le CodeCommit référentiel que vous avez créé précédemment.

  1. À partir du terminal ou de l'invite de commande de votre ordinateur local, exécutez la git clone commande avec l'--mirroroption de cloner une copie vierge du référentiel distant dans un nouveau dossier nommé aws-codecommit-demo. Cette copie est uniquement destinée à la migration. Il ne s'agit pas du dépôt local dans lequel interagir avec le référentiel migré. CodeCommit Vous pourrez le créer ultérieurement, une fois la migration CodeCommit terminée.

    L'exemple suivant clone une application de démonstration hébergée sur GitHub (https://github.com/awslabs/ aws-demo-php-simple -app.git) vers un dépôt local dans un répertoire nommé. aws-codecommit-demo

    git clone --mirror https://github.com/awslabs/aws-demo-php-simple-app.git aws-codecommit-demo
  2. Placez-vous dans le répertoire où vous avez créé le clone.

    cd aws-codecommit-demo
  3. Exécutez la git push commande en spécifiant l'URL et le nom du CodeCommit référentiel de destination ainsi que l'--alloption. (Il s'agit de l'URL que vous avez copiée dans Étape 1 : Création d'un CodeCommit référentiel.)

    Par exemple, si vous avez nommé votre dépôt MyClonedRepositoryet que vous êtes configuré pour utiliser le protocole HTTPS, vous devez exécuter la commande suivante :

    git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository --all
    Note

    L'option --all transfère uniquement l'ensemble des branches du référentiel. Elle ne transfère aucune autre référence, comme les balises. Si vous souhaitez transférer les balises, attendez que le transfert initial soit terminé, puis relancez un transfert en utilisant cette fois l'option --tags :

    git push ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository --tags

    Pour plus d'informations, consultez Git push sur le site web de Git. Pour en savoir plus sur le transfert de référentiels volumineux, en particulier si vous transférez toutes les références à la fois (par exemple, avec l'option --mirror), consultez la section Migrer un référentiel par incréments.

Vous pouvez supprimer le aws-codecommit-demodossier et son contenu après avoir migré le référentiel vers CodeCommit. Pour créer un dépôt local contenant toutes les références correctes pour travailler avec le référentiel CodeCommit, exécutez la git clone commande sans l'--mirroroption :

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository

Étape 3 : Afficher les fichiers dans CodeCommit

Après avoir transféré le contenu de votre répertoire, vous pouvez utiliser la CodeCommit console pour afficher rapidement tous les fichiers de ce référentiel.

  1. Ouvrez la CodeCommit console à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

  2. Dans Référentiels, choisissez le nom du référentiel (par exemple, MyClonedRepository).

  3. Affichez les fichiers dans le référentiel pour les branches, les URL du clone, les paramètres, etc.

    Vue d'un dépôt cloné dans CodeCommit

Étape 4 : partager le CodeCommit référentiel

Lorsque vous créez un référentiel dans CodeCommit, deux points de terminaison sont générés : un pour les connexions HTTPS et un pour les connexions SSH. Les deux fournissent des connexions sécurisées sur un réseau. Vos utilisateurs peuvent utiliser l'un ou l'autre de ces protocoles. Les deux points de terminaison restent actifs, quel que soit le protocole que vous recommandez à vos utilisateurs. Avant de partager votre référentiel avec d'autres utilisateurs, vous devez créer des politiques IAM permettant aux autres utilisateurs d'accéder à votre référentiel. Fournissez ces instructions d'accès à vos utilisateurs.

Création d'une stratégie gérée par le client pour votre référentiel
  1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans la zone de navigation de Dashboard, choisissez Stratégies, puis Créer une stratégie.

  3. Sur la page Créer une politique, choisissez Importer une stratégie gérée.

  4. Sur la page Importer des politiques gérées, dans Politiques de filtrage, entrezAWSCodeCommitPowerUser. Cliquez sur le bouton à côté du nom de la politique, puis choisissez Importer.

  5. Sur la page Créer une politique, choisissez JSON. Remplacez la partie « * » de la Resource ligne pour CodeCommit les actions par le Amazon Resource Name (ARN) du CodeCommit référentiel, comme indiqué ici :

    "Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]
    Astuce

    Pour trouver l'ARN du CodeCommit référentiel, accédez à la CodeCommit console, choisissez le nom du référentiel dans la liste, puis sélectionnez Paramètres. Pour plus d'informations, consultez Afficher les détails du référentiel.

    Si vous souhaitez que cette stratégie s'applique à plusieurs référentiels, ajoutez chaque référentiel en tant que ressource en spécifiant son ARN. Incluez une virgule entre chaque instruction de ressource, comme illustré ici :

    "Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

    Lorsque vous avez terminé de modifier, choisissez la politique de révision.

  6. Sur la page Révision de la politique, dans Nom, entrez un nouveau nom pour la politique (par exemple, AWSCodeCommitPowerUser- MyDemoRepo). Fournissez éventuellement une description de cette politique.

  7. Choisissez Create Policy (Créer une politique).

Pour gérer l'accès à votre référentiel, créez un groupe IAM pour ses utilisateurs, ajoutez des utilisateurs IAM à ce groupe, puis associez la politique gérée par le client que vous avez créée à l'étape précédente. Joignez toutes les autres politiques requises pour l'accès, telles que IAMuersshKeys ou. IAMSelfManageServiceSpecificCredentials

  1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans la zone de navigation de Dashboard, sélectionnez Groupes, puis Créer un groupe.

  3. Sur la page Définir un nom de groupe, dans la zone Nom du groupe, saisissez un nom pour le groupe (par exemple, MyDemoRepoGroup), puis sélectionnez Étape suivante. Vous pouvez inclure le nom du référentiel comme partie du nom du groupe.

    Note

    Ce nom doit être unique sur un compte Amazon Web Services.

  4. Cochez la case en regard de la stratégie gérée par le client que vous avez créée dans la section précédente (par exemple, AWSCodeCommitPowerUser-MyDemoRepo).

  5. Sur la page Vérifier, choisissez Créer un groupe. IAM crée ce groupe avec les politiques spécifiées déjà attachées. Le groupe apparaît dans la liste des groupes associés à votre compte Amazon Web Services.

  6. Choisissez votre groupe dans la liste.

  7. Sur la page récapitulative du groupe, sélectionnez l'onglet Utilisateurs, puis Ajouter des utilisateurs au groupe. Dans la liste qui répertorie tous les utilisateurs associés à votre compte Amazon Web Services, cochez les cases à côté des utilisateurs auxquels vous souhaitez autoriser l'accès au CodeCommit référentiel, puis choisissez Ajouter des utilisateurs.

    Astuce

    Vous pouvez utiliser la zone de recherche pour trouver rapidement des utilisateurs par leur nom.

  8. Lorsque vous avez ajouté vos utilisateurs, fermez la console IAM.

Après avoir créé un utilisateur IAM auquel il pourra accéder à CodeCommit l'aide du groupe de règles et des politiques que vous avez configurés, envoyez à cet utilisateur les informations requises pour se connecter au référentiel.

  1. Ouvrez la CodeCommit console à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

  2. Dans le sélecteur de région, choisissez l'Région AWSendroit où le référentiel a été créé. Les référentiels sont spécifiques à unRégion AWS. Pour plus d'informations, consultez Régions et points de terminaison de connexion Git.

  3. Sur la page Repositories (Référentiels), choisissez le référentiel à partager.

  4. Dans Clone URL (URL de clone), choisissez le protocole que vos utilisateurs doivent employer. Cette fonction copie l'URL de clone pour le protocole de connexion.

  5. Envoyez à vos utilisateurs l'URL de clone, ainsi que toute autre instruction, par exemple, sur l'installation de l'AWS CLI, la configuration d'un profil ou l'installation de Git. Assurez-vous d'inclure les informations de configuration pour le protocole de connexion (par exemple, HTTPS).