Cos'è AWS CodeCommit? - AWS CodeCommit

AWS CodeCommit non è più disponibile per i nuovi clienti. I clienti esistenti di AWS CodeCommit possono continuare a utilizzare il servizio normalmente. Scopri di più»

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Cos'è AWS CodeCommit?

AWS CodeCommitè un servizio di controllo delle versioni ospitato da Amazon Web Services, utile per archiviare e gestire privatamente risorse quali documenti, codice sorgente e file binari nel cloud. Per informazioni sui prezzi di CodeCommit, consulta la pagina Prezzi.

Nota

CodeCommit è incluso con molti programmi di conformità. Per ulteriori informazioni su AWS e sulle strategie di conformità, consulta la pagina relativa aiservizi AWS coperti dal programma di conformità.

Questo è un servizio idoneo ai fini HIPAA. Per maggiori informazioni su AWS, sull'Health Insurance Portability and Accountability Act statunitense del 1996 (HIPAA) e sull'utilizzo dei servizi AWS per elaborare, archiviare e trasmettere informazioni sanitarie protette (Protected Health Information, PHI), consulta Panoramica di HIPAA.

Per informazioni su questo servizio e su ISO 27001, uno standard di gestione della sicurezza che specifica le migliori pratiche di gestione della sicurezza, vedere la panoramica ISO 27001.

Per ulteriori informazioni su questo servizio e Payment Card Industry Data Security Standard (PCI DSS), consulta lapanoramica di PCI DSS.

Per informazioni su questo servizio e lo standard di sicurezza del governo degli Stati Uniti Information Processing Standard (FIPS) Publication 140-2 che specifica i requisiti di sicurezza per moduli di crittografia per la protezione delle informazioni sensibili, consulta la Panoramica del Federal Information Processing Standard (FIPS 140-2) e Endpoint di connessione Git.

Introduzione CodeCommit

CodeCommitè un servizio gestito di controllo del codice sorgente sicuro, altamente scalabile, utile per ospitare i repository Git privati. CodeCommitelimina la necessità di gestire il proprio sistema di controllo del codice sorgente o di preoccuparsi della scalabilità dell'infrastruttura. Puoi usare CodeCommit per archiviare tutto ciò che vuoi, dal codice sorgente ai file binari. Supporta le funzionalità standard di Git e si integra perfettamente con gli strumenti basati su Git esistenti.

Con il CodeCommit puoi:

  • Approfitta di un servizio completamente gestito ospitato daAWS. CodeCommitoffre un'elevata disponibilità e durata del servizio ed elimina il sovraccarico amministrativo legato alla gestione di hardware e software propri. Non è necessario eseguire il provisioning dell'hardware né aumentarlo o ridurlo e non occorre installare, configurare e aggiornare software.

  • Memorizza il tuo codice in modo sicuro. CodeCommiti repository sono criptati sia a riposo che in transito.

  • Lavora in modo collaborativo sul codice. CodeCommiti repository supportano le pull request, in cui gli utenti possono rivedere e commentare le reciproche modifiche al codice prima di unirle alle filiali; notifiche che inviano automaticamente e-mail agli utenti su richieste di pull e commenti e altro ancora.

  • Scala facilmente i tuoi progetti di controllo delle versioni. CodeCommiti repository possono essere scalati per soddisfare le tue esigenze di sviluppo. Il servizio è in grado di gestire repository con un numero elevato di file o rami, file di grandi dimensioni e lunghe cronologie di revisione.

  • Conserva qualsiasi cosa, in qualsiasi momento. CodeCommitnon c'è limite sulla dimensione dei file o sui tipi di file archiviati.

  • Integrazione con servizi di altriAWS e di terze parti. CodeCommitmantiene i tuoi repository vicini alle altre risorse di produzione nelAWS cloud, il che aiuta ad aumentare la velocità e la frequenza del ciclo di vita di sviluppo. È integrato con IAM e può essere utilizzato con altriAWS servizi e in parallel con altri repository. Per ulteriori informazioni, consulta Integrazioni di prodotti e servizi con AWS CodeCommit.

  • Eseguire facilmente la migrazione di file da altri repository remoti. Puoi eseguire la migrazione ad CodeCommit da qualsiasi repository basato su Git.

  • Usa gli strumenti Git che già conosci. CodeCommitsupporta i comandi Git eAWS CLI i propri comandi e API.

CodeCommit, Git e la scelta delAWS servizio giusto per le tue esigenze

Come servizio basato su Git, CodeCommit è adatto alla maggior parte delle esigenze di controllo della versione. Non sono previsti limiti arbitrari per dimensioni e tipo di file e per dimensioni del repository. Tuttavia, non vi sono limitazioni intrinseche a Git che possono compromettere le prestazioni di alcuni tipi di operazioni, soprattutto nel corso del tempo. Puoi evitare un peggioramento potenziale delle prestazioni del repository CodeCommit evitando di utilizzarlo per casi d'uso per cui sono più adatti altri servizi AWS. Inoltre puoi ottimizzare le prestazioni di Git per repository complessi. Di seguito sono elencati alcuni casi d'uso in cui Git, e di conseguenza CodeCommit, potrebbe non essere la soluzione migliore per te o dove potrebbe essere necessario richiedere ulteriori passaggi di ottimizzazione per Git.

Caso d'uso Descrizione Altri servizi da tenere in considerazione
File grandi modificati di frequente Git utilizza la codifica delta per memorizzare differenze tra versioni di file. Ad esempio, se modifichi alcune parole in un documento, Git memorizza solo le parole modificate. Se disponi di file o oggetti di oltre 5 MB con molte modifiche, Git potrebbe dover ricostruire una grande catena di differenze delta. Questo può comportare l'utilizzo di una maggiore quantità di risorse di elaborazione sul computer locale e su CodeCommit man mano che tali file aumentano di dimensioni con il passare del tempo. Per versioni di file di grandi dimensioni, considera Amazon Simple Simple Storage Service (Amazon S3). Per ulteriori informazioni, consulta Utilizzo del controllo delle versioni nella Guida per l'utente di Amazon Simple Storage Service User Guide di Amazon Simple Versioni
Database I repository Git aumentano di dimensioni nel tempo. Poiché la funzione Versioni multiple tiene traccia di tutte le modifiche, qualsiasi modifica aumenterà le dimensioni del repository. In altre parole, quando esegui il commit dei dati, anche se elimini i dati di un commit, questi vengono aggiunti a un repository. Poiché c'è una maggiore quantità di dati da elaborare e trasmettere nel corso del tempo, Git rallenterà. Questo va a scapito soprattutto di un caso d'uso del database. Git non è stato progettato come database. Per creare e utilizzare un database con prestazioni costanti indipendentemente dalle dimensioni, prendi in considerazione Amazon DynamoDB. Per ulteriori informazioni, consulta la Guida alle operazioni di base di Amazon DynamoDB.
Audit trail Di solito, gli audit trail vengono conservati per lunghi periodi di tempo e sono costantemente generati da processi di sistema a un ritmo molto frequente. Git è stato progettato per archiviare in modo sicuro il codice sorgente generato da gruppi di sviluppatori su un ciclo di sviluppo. I repository in rapido mutamento che memorizzano continuamente modifiche di sistema generate in modo programmatico offriranno prestazioni sempre peggiori. Per archiviare gli audit trail, considera Amazon Simple Simple Storage Service (Amazon S3).

Per controllareAWS l'attività, a seconda del caso d'uso, prendi in considerazione l'utilizzo di AWS CloudTrailAWS Config, o AmazonCloudWatch.

Backup Git è stato progettato per la versione del codice sorgente scritto dagli sviluppatori. Puoi eseguire il push di commit a due repository remoti, incluso un repository CodeCommit, come strategia di backup. Tuttavia, Git non è stato progettato per gestire i backup del file system del computer, di dump di database o di contenuto simile. Questo tipo di utilizzo infatti potrebbe rallentare il sistema e aumentare l'intervallo di tempo richiesto per clonare ed eseguire il push di un repository. Per informazioni sul backup nel cloud AWS, consulta Backup e ripristino.
Molti rami o riferimenti Quando un client Git esegue il push o il pull dei dati del repository, il server remoto deve inviare tutti i rami e i riferimenti, ad esempio i tag, anche se sei interessato solo a un singolo ramo. Se disponi di migliaia di rami e riferimenti, l'elaborazione e l'invio (negoziazione pacchetto) potrebbero richiedere tempo e rallentare apparentemente la risposta del repository. Più rami e tag sono presenti, più tempo potrebbe richiedere questo processo. È consigliabile utilizzare CodeCommit, ma anche eliminare rami e tag inutilizzati. Per analizzare il numero di riferimenti in un repository CodeCommit allo scopo di determinare quali potrebbero non essere necessari, puoi utilizzare uno dei seguenti comandi:
  • Emulatore Linux, macOS o Unix o Bash su Windows:

    git ls-remote | wc -l
  • Powershell:

    git ls-remote | Measure-Object -line

Come funziona CodeCommit?

CodeCommitè familiare agli utenti dei repository basati su Git, ma anche chi non lo conosce dovrebbe trovareCodeCommit relativamente semplice la transizione. CodeCommitfornisce una console per la creazione semplice di repository e l'elenco dei repository e delle filiali esistenti. In pochi semplici passaggi, gli utenti possono individuare le informazioni relative a un repository e clonarlo nel proprio computer creando un repository nel quale possono apportare modifiche per poi eseguirne il push nel repository CodeCommit. Gli utenti possono lavorare dalla riga di comando sui propri computer locali oppure usare un editor basato su un'interfaccia utente grafica.

La figura riportata di seguito illustra come usare il computer di sviluppo, AWS CLI o la console di CodeCommit e il servizio CodeCommit per creare e gestire i repository:

CodeCommitFlusso di lavoro tipico

  1. Usa la consoleAWS CLI o laCodeCommit console per creare unCodeCommit repository.

  2. Dal computer di sviluppo, usare Git per eseguire git clone specificando il nome del repository CodeCommit. Questo crea un repository locale che si connette alCodeCommit repository.

  3. Usa il repository locale sul tuo computer di sviluppo per modificare (aggiungere, modificare ed eliminare) i file, quindigit add esegui lo staging dei file modificati localmente. Eseguigit commit per salvare i file localmente, quindi eseguigit push per inviare i file alCodeCommit repository.

  4. Scaricare le modifiche apportate da altri utenti. Eseguigit pull per sincronizzare i file nelCodeCommit repository con il tuo repository locale. In questo modo sarai certo di utilizzare la versione più recente dei file.

Per monitorare e gestire i tuoi repository puoi utilizzare AWS CLI o la console di CodeCommit.

In cosaCodeCommit differisce dal controllo delle versioni dei file in Amazon S3?

CodeCommit è stato ottimizzato per lo sviluppo di software in team. Gestisce batch di modifiche su più file, che possono avvenire in parallel con le modifiche apportate da altri sviluppatori. Il controllo delle versioni di Amazon S3 supporta il ripristino delle versioni precedenti dei file, ma non si concentra sulle funzionalità di tracciamento collaborativo dei file di cui hanno bisogno i team di sviluppo software.

Come posso iniziare a usare CodeCommit?

Per iniziare a usare CodeCommit:

  1. Seguire la procedura in Configurazione per preparare i computer di sviluppo.

  2. Seguire le procedure indicate in uno o più dei tutorial disponibili in Nozioni di base.

  3. Creare progetti di controllo delle versioni in CodeCommit oppure eseguire la migrazione di progetti di controllo delle versioni ad CodeCommit.

Dove posso trovare ulteriori informazioni su Git?

Se non hai ancora familiarità con questo sistema, impara a usare Git. Ecco alcune utili risorse:

  • Pro Git, una versione online del manuale di Pro Git. Redatto da Scott Chacon. Pubblicato da Apress.

  • Git Immersion, un tourtry-it-yourself guidato che illustra i fondamenti dell'uso di Git. Pubblicata da Neo Innovation, Inc.

  • Git Reference, un riferimento rapido online utilizzabile anche come tutorial più approfondito su Git. Pubblicato dalGitHub team.

  • Git Cheat Sheet con la sintassi dei principali comandi di Git. Pubblicato dalGitHub team.

  • Git Pocket Guide. Redatta da Richard E. Silverman. Pubblicata da O'Reilly Media, Inc.