Domande generali

D: Cos'è AWS CodeCommit?

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.

D: Cos'è Git?

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.
D: A chi è rivolto 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.
D: Qual è la differenza fra AWS CodeCommit e gli altri sistemi di controllo di codice sorgente basati su Git?
 
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 archiviare 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.
D: Qual è la differenza fra AWS CodeCommit e un bucket S3 con la funzione Versioni multiple?

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

D: Come si inizia a usare 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.
D: Come si crea un repository?

Puoi creare un repository dalla Console di gestione AWS o con l' interfaccia a riga di comando di AWS (CLI di AWS), gli SDK AWS o le API di AWS CodeCommit.
D: Come si aggiornano i file in un repository?

È 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.
D: Come posso importare un repository esistente in 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.
D: Quali operazioni Git sono attualmente supportate da AWS CodeCommit?
 
AWS CodeCommit attualmente supporta i comandi clone, pull, push e fetch.
D: AWS CodeCommit supporta i moduli secondari Git?

Sì. AWS CodeCommit può essere utilizzato con i repository Git che includono moduli secondari.
D: Quali sono le limitazioni di servizio quando si utilizza AWS CodeCommit?

Per informazioni sulle limitazioni di servizio, consulta le Limitazioni.
D: Quali sono le dimensioni massime di un singolo file da memorizzare in CodeCommit?

Le dimensioni massime di un singolo file in un repository non possono superare i 2 GB.
D: come si effettua il backup di un repository?

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.
D: Come si ripristina un repository AWS CodeCommit eliminato?

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?
D: Come si gestiscono le revisioni del codice con 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.

D: Come si integra un sistema di integrazione continua con AWS CodeCommit?

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.
D: Come si creano dei webhook utilizzando AWS CodeCommit?

Nella console di Amazon SNS, puoi creare un argomento SNS con un endpoint HTTP e l’URL desiderato per il webhook. Dalla console di AWS CodeCommit è poi possibile 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.
D: È possibile ottenere uno storico delle operazioni Git di AWS CodeCommit e delle chiamate alle API di AWS CodeDeploy effettuate sull'account per analizzare la sicurezza e per la risoluzione dei problemi operativi?

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

D: Posso usare AWS Identity and Access Management (IAM) per gestire l’accesso ad AWS CodeCommit?

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.
D: Quali protocolli di comunicazione sono supportati da AWS CodeCommit?

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.
D: Quali porte devo aprire nel firewall per accedere ad AWS CodeCommit?

Devi aprire l’accesso in uscita a un endpoint del servizio AWS CodeCommit sulla porta 22 (SSH) o la porta 443 (HTTPS).
D: Come si crittografa un repository in AWS CodeCommit?

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, vedi Crittografia per i repository AWS CodeCommit.
D: Posso abilitare l’accesso tra più account al mio repository?

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

D: Quali regioni supporta AWS CodeCommit?

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

Fatturazione

D: Quanto costa AWS CodeCommit?

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.
Qual è la definizione di utente attivo in AWS CodeCommit?

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'AWS Identity conta come utente attivo.
D: Quali richieste Git sono comprese nella quota mensile?

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.

Ulteriori informazioni sui prezzi di AWS CodeCommit

Visita la pagina dei prezzi
Ti senti pronto?
Inizia a utilizzare AWS CodeCommit
Hai altre domande?
Contattaci