Qu'est-ce que 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.

Qu'est-ce que AWS CodeCommit ?

AWS CodeCommitest un service de contrôle des versions hébergé par Amazon Web Services que vous pouvez utiliser pour stocker et gérer les ressources de façon privée (par exemple, les documents, le code source et les fichiers binaires) dans le cloud. Pour plus d'informations sur la tarification pour CodeCommit, consultez Tarification.

Note

CodeCommit entre dans le champ d'application de nombreux programmes de conformité. Pour plus d'informations sur AWS et les efforts de conformité, consultez la page Services AWS concernés par un programme de conformité.

Il s'agit d'un service admissible en vertu de la loi HIPAA. Pour plus d'informations sur AWS, la loi américaine HIPAA (Health Insurance Portability and Accountability Act) de 1996 et sur l'utilisation des services AWS pour le traitement, le stockage et la transmission des informations protégées relatives à la santé (PHI), veuillez consulter Présentation de la loi HIPAA.

Pour plus d'informations sur ce service et sur la norme ISO 27001, une norme de gestion de la sécurité qui spécifie les meilleures pratiques de gestion de la sécurité, consultez la section Présentation de la norme ISO 27001.

Pour plus d'informations sur ce service et sur la norme PCI DSS (Payment Card Industry Data Security Standard), consultez la page Présentation de PCI DSS.

Pour plus d'informations sur ce service et la norme du gouvernement américain de publication Federal Information Processing Standard (FIPS) 140-2 spécifiant les exigences de sécurité pour les modules cryptographiques qui protègent les informations sensibles, consultez Federal Information Processing Standard (FIPS) 140-2 Overview et Points de terminaison de connexion Git.

Présentation d'CodeCommit

CodeCommitest un service de contrôle de code source géré qui héberge des référentiels Git privés. CodeCommitvous évite de devoir gérer votre propre système de contrôle de source ou de vous soucier de la mise à l'échelle de son infrastructure. Vous pouvez utiliser CodeCommit pour tout stocker, du code aux fichiers binaires. Ce service prend en charge les fonctionnalités standard de Git, et fonctionne donc de façon transparente avec vos outils basés sur Git existants.

Grâce à CodeCommit, vous pouvez :

  • Bénéficiez d'un service entièrement géré hébergé parAWS. CodeCommitassure une disponibilité et une durabilité élevées des services et élimine les frais administratifs liés à la gestion de votre propre matériel et de vos logiciels. Vous n'avez aucun matériel à mettre en service et dimensionner, et aucun logiciel serveur à installer, configurer et mettre à jour.

  • Conservez votre code en toute sécurité. CodeCommitles référentiels sont chiffrés au repos comme en transit.

  • Travaillez en collaboration sur le code. CodeCommitles référentiels prennent en charge les pull requests, qui permettent aux utilisateurs de consulter et de commenter les modifications de code des autres utilisateurs avant de les fusionner en branches ; les notifications qui envoient automatiquement des e-mails aux utilisateurs concernant les pull requests et les commentaires, et bien plus encore.

  • Faites évoluer facilement vos projets de contrôle de version. CodeCommitles référentiels peuvent être étendus pour répondre à vos besoins de développement. Le service peut gérer des référentiels avec un grand nombre de fichiers ou de branches, des tailles de fichier importantes et de longs historiques de révision.

  • Stockez n'importe quoi, à tout moment. CodeCommitn'est pas limité en ce qui concerne la taille de vos référentiels ou les types de fichiers que vous pouvez stocker.

  • Intégrez à d'autres servicesAWS et à des services tiers. CodeCommit conserve vos référentiels à proximité de vos autres ressources de production dans le cloud AWS, ce qui permet d'augmenter la vitesse et la fréquence de votre cycle de vie de développement. Il est intégré à IAM et peut être utilisé avec d'autresAWS services et en parallel avec d'autres référentiels. Pour plus d'informations, veuillez consulter Intégrations de produits et services avec AWS CodeCommit.

  • Migrer facilement des fichiers à partir d'autres référentiels distants. Vous pouvez effectuer une migration vers CodeCommit à partir de n'importe quel référentiel basé sur Git.

  • Utilisez les outils Git que vous connaissez déjà. CodeCommitprend en charge les commandes Git ainsi que ses propresAWS CLI commandes et API.

CodeCommit, Git et le choix duAWS service adapté à vos besoins

En tant que service basé sur Git, CodeCommit répond à la majorité des besoins de contrôle de version. Il n'y a pas de limites arbitraires concernant la taille ou le type des fichiers, et la taille des référentiels. Toutefois, des limites inhérentes à Git peuvent nuire aux performances de certaines opérations, notamment dans la durée. Pour éviter la dégradation potentielle des performances des référentiels CodeCommit, vous pouvez éviter de l'utiliser dans les situations où les autres services AWS sont mieux adaptés à la tâche. Vous pouvez également optimiser les performances de Git pour les référentiels complexes. Voici quelques situations dans lesquelles Git, et donc CodeCommit, ne sont pas les meilleures solutions ou peuvent nécessiter des actions supplémentaires pour optimiser l'utilisation de Git.

Cas d'utilisation Description Autres services à envisager
Fichiers volumineux avec modifications fréquentes Git utilise l'encodage Delta pour enregistrer les différences entre plusieurs versions d'un fichier. Par exemple, si vous changez quelques mots dans un document, Git enregistre uniquement les mots changés. Si vous avez des fichiers ou des objets de plus de 5 Mo et comportant de nombreuses modifications, Git peut avoir besoin de reconstruire une grande chaîne de différences Delta. Cela peut entraîner une augmentation du volume de ressources de calcul consommées, à la fois sur votre ordinateur local et dans CodeCommit, car ces fichiers deviennent plus volumineux. Pour créer un fichier de grande taille, pensez à utiliser Amazon Simple Storage Service (Amazon S3). Pour de plus amples informations, veuillez consulter Utilisation de la gestion des versions dans le Manuel de l'utilisateur Amazon Simple Storage Service.
Database (Base de données) Les référentiels Git deviennent plus volumineux avec le temps. Étant donné que la gestion des versions effectue le suivi de toutes les modifications, chaque modification apportée augmente la taille de votre référentiel. En d'autres termes, lorsque vous validez des données, même si vous supprimez d'autres données par la même occasion, les données sont ajoutées au référentiel. L'augmentation du volume de données à traiter et à transmettre au fil du temps entraîne un ralentissement de Git. Cette conséquence est particulièrement préjudiciable dans le cas d'utilisation de base de données. Git n'a pas été conçu comme une base de données. Pour créer et utiliser une base de données offrant des performances constantes, quelle que soit sa taille, pensez à Amazon DynamoDB. Pour de plus amples informations, veuillez consulter le Manuel de démarrage Amazon DynamoDB.
Pistes d'audit Les pistes d'audit sont généralement conservées pendant de longues périodes, et sont générées de manière continue par les processus système, sur un rythme très fréquent. Git a été conçu pour stocker de façon sécurisée le code source généré par des groupes de développeurs pendant un cycle de développement. Les référentiels hautement évolutifs qui stockent continuellement des modifications générées par programmations subiront, avec le temps, une dégradation des performances. Pour stocker des pistes d'un référentiel, pensez à utiliser Amazon Simple Storage Service (Amazon S3).

Pour auditerAWS l'activité, en fonction de votre cas d'utilisation, pensez à utiliser AWS CloudTrailAWS Config, ou AmazonCloudWatch.

Sauvegardes Git a été conçu pour la gestion de version du code source écrit par des développeurs. Vous pouvez transmettre (push) des validations vers deux référentiels distants, y compris un référentiel CodeCommit, en tant que stratégie de sauvegarde. Toutefois, Git n'a pas été conçu pour gérer les sauvegardes du système de fichiers de votre ordinateur, des vidages de votre base de données ou autres contenus de sauvegarde similaires. Ce type d'utilisation risque de ralentir votre système et d'augmenter le délai requis pour cloner et transmettre (push) un référentiel. Pour plus d'informations sur la sauvegarde vers le Cloud AWS, consultez la page Sauvegarde et restauration.
Nombre important de branches ou de références Lorsqu'un client Git transmet ou extraie des données de référentiel, le serveur distant doit envoyer toutes les branches et références telles que les balises, même si une seule branche vous intéresse. Si vous disposez de milliers de branches et de références, le traitement et l'envoi (négociation de paquet) peuvent être longs, et le référentiel peut, par conséquent, sembler lent à répondre. Plus vous disposez de branches et de balises, plus le processus prendra du temps. Nous vous conseillons d'utiliser CodeCommit mais de supprimer les branches et balises dont vous n'avez plus besoin. Pour analyser le nombre de références dans un référentiel CodeCommit afin de déterminer celles dont vous n'avez plus besoin, vous pouvez utiliser l'une des commandes suivantes :
  • Émulateur Linux, macOS ou Unix ou Bash sous Windows :

    git ls-remote | wc -l
  • PowerShell :

    git ls-remote | Measure-Object -line

Fonctionnement d'CodeCommit

CodeCommitest familier aux utilisateurs de référentiels basés sur Git, mais même ceux qui ne le connaissent pas devraient trouver la transitionCodeCommit relativement simple. CodeCommitfournit une console permettant de créer facilement des référentiels et de répertorier les référentiels et les branches existants. En quelques étapes simples, les utilisateurs peuvent trouver des informations sur un référentiel et le cloner sur leur ordinateur, en créant un référentiel local où ils peuvent apporter des modifications, puis transmettre celles-ci vers le référentiel CodeCommit. Les utilisateurs peuvent travailler à partir de la ligne de commande sur leurs ordinateurs locaux ou utiliser un éditeur basé sur l'interface utilisateur graphique.

La figure suivante montre comment utiliser votre machine de développement, l'AWS CLI ou la console CodeCommit, et le service CodeCommit pour créer et gérer des référentiels :


        CodeCommitFlux de travail typique

  1. Utilisez laAWS CLI ou laCodeCommit console pour créer unCodeCommit référentiel.

  2. Sur votre machine de développement, utilisez Git pour exécuter git clone, en spécifiant le nom du référentiel CodeCommit. Cela crée un dépôt local qui se connecte auCodeCommit référentiel.

  3. Utilisez le dépôt local sur votre machine de développement pour modifier (ajouter, modifier et supprimer) des fichiers, puis exécutezgit add pour stocker les fichiers modifiés localement. Exécutezgit commit pour valider les fichiers localement, puis exécutezgit push pour envoyer les fichiers auCodeCommit référentiel.

  4. Téléchargez les modifications apportées par d'autres utilisateurs. Exécutezgit pull pour synchroniser les fichiers duCodeCommit référentiel avec votre référentiel local. Vous êtes ainsi assuré de travailler avec la dernière version des fichiers.

Vous pouvez utiliser l'AWS CLI ou la console CodeCommit pour suivre et gérer vos référentiels.

En quoi la gestion des versions de fichiers est-elleCodeCommit différente dans Amazon S3 ?

CodeCommit est optimisé pour les équipes de développement logiciel. Il gère des lots de modifications sur plusieurs fichiers, qui peuvent se produire en parallel avec les modifications apportées par d'autres développeurs. La gestion des versions d'Amazon S3 prend en charge la restauration des versions précédentes des fichiers, mais elle n'est pas axée sur les fonctionnalités de suivi collaboratif des fichiers dont les équipes de développement logiciel ont besoin.

Comment démarrer avec CodeCommit ?

Pour commencer à utiliser CodeCommit :

  1. Suivez les étapes de Configuration pour préparer vos machines de développement.

  2. Suivez les étapes d'un ou plusieurs des didacticiels dans Commencer à utiliser.

  3. Créez des projets de contrôle de version dans CodeCommit ou migrez des projets de contrôle de version vers CodeCommit.

Où puis-je en savoir plus sur Git ?

Si vous ne le connaissez pas déjà, vous devez apprendre à utiliser Git. Voici quelques ressources utiles :

  • Pro Git, une version en ligne du manuel Pro Git. Rédigé par Scott Chacon. Publié par Apress.

  • Git Immersion, une visitetry-it-yourself guidée qui vous explique les bases de l'utilisation de Git. Publié par Neo Innovation, Inc.

  • Git Reference, une référence rapide en ligne qui peut également être utilisée comme un didacticiel Git plus approfondi. Publié par l'GitHubéquipe.

  • Git Cheat Sheet avec la syntaxe des commandes Git de base. Publié par l'GitHubéquipe.

  • Git Pocket Guide. Rédigé par Richard E. Silverman. Publié par O'Reilly Media, Inc.