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

Domande frequenti su AWS CodeCommit

Domande generali

AWS CodeCommit è un servizio gestito di controllo del codice sorgente altamente scalabile e sicuro che semplifica la collaborazione sul codice tra i team. AWS CodeCommit solleva dalla necessità di gestire il tuo sistema di controllo di codice sorgente o di preoccuparsi del ridimensionamento della relativa infrastruttura. AWS CodeCommit fornisce capacità di storage, ad esempio di codice sorgente e codice binario, e si integra perfettamente con gli strumenti Git esistenti.

Git è un sistema di controllo di versione distribuito open source. Per lavorare con i repository di AWS CodeCommit, puoi usare l’interfaccia a riga di comando (CLI) Git o qualunque client Git disponibile. Per ulteriori informazioni su Git, consulta la documentazione di Git. Per ulteriori informazioni sull'utilizzo di AWS CodeCommit con Git, consulta Nozioni di base su AWS CodeCommit.

AWS CodeCommit è progettato per sviluppatori di software che necessitano un sistema di controllo di codice sorgente sicuro, affidabile e scalabile per memorizzare e gestire le versioni del codice. Inoltre, AWS CodeCommit può essere utilizzato da chiunque abbia bisogno di un datastore completamente gestito e facile da usare controllato dalla versione. Per esempio, gli amministratori IT possono utilizzare AWS CodeCommit per archiviare script e configurazioni. I Web designer possono utilizzare AWS CodeCommit per archiviare pagine HTML e immagini.

AWS CodeCommit offre diverse caratteristiche non fornite dagli altri sistemi di controllo di codice sorgente basati su Git.

  • Completamente gestito: AWS CodeCommit elimina la necessità di gestire, mantenere, eseguire il backup e ridimensionare i server di controllo del codice sorgente.
  • Sicuro: AWS CodeCommit crittografa automaticamente i file in transito e a riposo. AWS CodeCommit è integrato con AWS Identity and Access Management (IAM), consentendoti di assegnare permessi specifici per ogni utente ai tuoi repository.
  • Altamente disponibile: AWS CodeCommit è sviluppato su servizi AWS altamente scalabili, ridondanti e durevoli come Amazon S3 e Amazon DynamoDB.
  • Scalabile: AWS CodeCommit consente di immagazzinare qualunque tipo di file e non ci sono limiti alle dimensioni dei repository.
  • Ciclo di vita di sviluppo più rapido: AWS CodeCommit custodisce i repository accanto agli ambienti di build, stage e produzione nel cloud AWS. Questo consente di aumentare la velocità e la frequenza del ciclo di vita di sviluppo.

AWS CodeCommit è progettato per lo sviluppo di software collaborativo. Gestisce batch di modifiche su più file, offre diramazioni parallele e include la differenziazione di versioni ("diffing"). In confronto, la funzione Versioni multiple di Amazon S3 supporta il recupero di versioni precedenti di file individuali ma non supporta le modifiche batch di tracciabilità su più file o altre funzionalità necessarie allo sviluppo di software collaborativo.

Utilizzo di AWS CodeCommit

Puoi accedere alla Console di gestione AWS, creare un repository e iniziare a lavorare con il repository utilizzando Git. Se desideri una presentazione del servizio, consulta la guida Nozioni di base, che include un tutorial dettagliato.

Puoi creare un repository dalla Console di gestione AWS o con l'interfaccia della linea di comando AWS (AWS CLI), gli SDK AWS o le API di AWS CodeCommit.

È possibile modificare i file direttamente dalla console di CodeCommit o utilizzando Git per lavorare con il repository. Per esempio, tra i comandi Git puoi utilizzare git clone per creare una copia locale del repository di AWS CodeCommit. Effettua le modifiche sui file locali e utilizza il comando git commit quando vuoi salvare le modifiche. Infine, usa il comando git push per caricare le modifiche sul repository di AWS CodeCommit. Per istruzioni dettagliate, consulta Nozioni di base su AWS CodeCommit.

Puoi usare Git per importare un repository esistente in AWS CodeCommit. Per altri repository, come Subversion e Perforce, puoi usare un’utilità di importazione Git per migrarli verso un repository Git. Per istruzioni dettagliate sull'importazione di repository Git, consulta Migrazione di un repository esistente ad AWS CodeCommit. Consulta le istruzioni dettagliate sull'importazione di contenuti locali o senza controllo di versione nella documentazione sulla migrazione Git.

AWS CodeCommit attualmente supporta i comandi clone, pull, push e fetch.

Sì. AWS CodeCommit può essere utilizzato con i repository Git che includono moduli secondari.

Per informazioni sulle restrizioni al servizio, consulta la relativa pagina.

Le dimensioni massime di un singolo file in un repository non possono superare i 2 GB.

Se hai una copia locale del repository dopo aver effettuato un git clone completo, puoi utilizzarla per ripristinare i dati. Se desideri eseguire backup supplementari, ci sono più modi per farlo. Un sistema consiste nell'installare Git sul server di backup ed eseguire un processo pianificato che utilizza il comando git clone per eseguire snapshot regolari del repository. Puoi usare git pull invece di git clone se vuoi copiare soltanto le modifiche incrementali. Si prega di notare che queste operazioni possono comportare l'addebito di un utente supplementare e/o costi di richiesta basati sulla configurazione del server di backup e sulla frequenza del polling.

L’eliminazione di un repository AWS CodeCommit è un’operazione distruttiva che non può essere annullata. Per ripristinare un repository eliminato, devi ricrearlo e utilizzare un backup o la copia locale di un clone completo per caricare i dati. Consigliamo di utilizzare le policy IAM con la protezione MFA per limitare gli utenti che possono eliminare i repository. Per ulteriori dettagli, leggi la risposta alla domanda Posso utilizzare AWS Identity and Access Management (IAM) per gestire l’accesso a AWS CodeCommit?

CodeCommit supporta le revisioni del codice e permette l'impostazione di permessi su branch del codice. Consulta la documentazione per l'assistenza con le revisioni del codice o i permessi a livello di branch.

I sistemi di integrazione continua (CI) possono essere configurati per utilizzare Git per l’estrazione di codice da AWS CodeCommit. Per esempi sull'utilizzo di sistemi CI con AWS CodeCommit, leggi il post sul nostro blog sull'integrazione di AWS CodeCommit con Jenkins.

Nella console di Amazon SNS, puoi creare un argomento SNS con un endpoint HTTP e l’URL desiderato per il webhook. Poi dalla console di AWS CodeCommit si può configurare l’argomento SNS per un evento di repository utilizzando dei trigger. Inoltre, i clienti che utilizzano AWS Chatbot possono configurare l'invio di notifiche ai canali Slack o alle chat room di Amazon Chime. Per ulteriori dettagli, fai clic qui.

Sì. Puoi vedere gli eventi recenti di CodeCommit, incluse le operazioni Git e le chiamate API, nella console di AWS CloudTrail. Per ottenere un registro in tempo reale degli eventi puoi creare eventi di trail e log in un bucket Amazon S3. Per ulteriori informazioni, consulta Logging delle chiamate API di AWS CodeCommit con AWS CloudTrail.

Sicurezza

Sì. AWS CodeCommit supporta le autorizzazioni a livello di risorsa. Per ogni repository di AWS CodeCommit si può specificare quali utenti possono eseguire quali operazioni. Inoltre si può applicare l'autenticazione multi-fattore (MFA) di AWS per un'operazione CodeCommit. Questo permette di aggiungere un livello ulteriore di protezione contro operazioni distruttive come l'eliminazione di repository. Oltre alle API AWS CodeCommit, si possono anche specificare git pull e git push come operazioni per controllare l'accesso dai client Git. Per esempio, si può creare un utente in sola lettura per un repository concedendogli l'accesso a git pull ma non a git push sul repository. Per ulteriori informazioni sull'utilizzo di IAM con AWS CodeCommit, consulta Autenticazione e controllo degli accessi per AWS CodeCommit. Per ulteriori informazioni sull'autenticazione dell'accesso alle API con MFA, vedi Configurare gli accessi alle API protetti da MFA.

Si può usare il protocollo HTTPS o SSH o entrambi per comunicare con AWS CodeCommit. Per usare HTTPS, bisogna prima installare la CLI di AWS. La CLI di AWS installa un helper che può essere configurato con credenziali AWS. Questo firma automaticamente tutte le richieste HTTPS ad AWS CodeCommit utilizzando la versione 4 del protocollo di firma. Per usare SSH, gli utenti creano le loro coppie di chiavi pubbliche-private e aggiungono le chiavi pubbliche ai loro utenti IAM. La chiave privata crittografa la comunicazione con AWS CodeCommit. Per istruzioni dettagliate sull'impostazione degli accessi HTTPS e SSH, consulta la pagina Configurare AWS CodeCommit.

Devi aprire l’accesso in uscita a un endpoint del servizio AWS CodeCommit sulla porta 22 (SSH) o la porta 443 (HTTPS).

I repository sono crittografati automaticamente a riposo. Non è necessaria alcuna azione da parte del cliente. AWS CodeCommit utilizza AWS Key Management Service (KMS) per crittografare i repository. Quando crei il primo repository, viene creata una chiave CodeCommit gestita da AWS nel tuo account AWS. Per i dettagli, consulta Crittografia per i repository AWS CodeCommit.

Sì. Puoi creare un ruolo IAM nel tuo account AWS per delegare l’accesso a un repository agli utenti IAM in altri account AWS. Gli utenti IAM possono poi configurare la loro CLI di AWS per utilizzare AWS Security Token Service (STS) e assumere il ruolo quando eseguono i comandi. Per i dettagli, leggi Assuming a Role nella documentazione della CLI di AWS.

Regioni

Per ulteriori informazioni sulla disponibilità dei servizi di CodeCommit, consulta la sezione relativa a prodotti e servizi per regione.

Fatturazione

AWS CodeCommit costa 1 USD al mese per ogni utente attivo. Per ogni utente attivo, il tuo account riceve una quota supplementare di 10 GB al mese di storage e 2.000 richieste Git per quel mese. La quota non utilizzata per lo storage e le richieste Git non può essere riportata al mese successivo. Se hai bisogno di storage o richieste Git supplementari per i tuoi utenti, il costo supplementare è di 0,06 USD al GB al mese e 0,001 USD per richiesta Git. Gli utenti potranno memorizzare un numero illimitato di repository Git. L'utilizzo viene calcolato ogni mese su tutte le regioni e applicato automaticamente alla fattura. Per ulteriori informazioni, consulta la pagina dei prezzi.

Un utente attivo è qualunque AWS Identity (utente/ruolo IAM, utente federato o account root) che accede ai repository di AWS CodeCommit durante il mese, tramite richieste Git o utilizzando la Console di gestione AWS. Un server che accede a CodeCommit utilizzando un'identità AWS conta come utente attivo.

Una richiesta Git include qualunque push o pull che trasmette oggetti del repository. La richiesta non è calcolata nella quota mensile di Git se la ramificazione locale e remota sono aggiornate e quindi non c’è un trasferimento di oggetti.