

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à.

# Come funziona Git sync con CloudFormation
<a name="git-sync-concepts-terms"></a>

Questo argomento descrive come funziona la sincronizzazione Git e introduce i concetti chiave necessari per utilizzarla.

**Topics**
+ [

## Come funziona la sincronizzazione Git
](#git-sync-concepts-terms-how)
+ [

## Commenti sulle richieste pull
](#git-sync-comments-on-pull-requests)
+ [

## File di implementazione dello stack
](#git-sync-concepts-terms-depoyment-file)
+ [

## CloudFormation file modello
](#git-sync-concepts-terms-template-file)
+ [

## Repository delle definizioni dei modelli
](#git-sync-concepts-terms-template-definition-repository)

## Come funziona la sincronizzazione Git
<a name="git-sync-concepts-terms-how"></a>

Per utilizzare Git sync, devi prima connettere un provider Git all' CloudFormation utilizzo del [CodeConnections](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)servizio. Nelle procedure di questa guida, la connessione viene creata tramite la CodeConnections console. In alternativa, puoi crearla anche tramite la AWS CLI. Puoi utilizzare uno dei seguenti provider Git:
+ [GitHub](https://github.com/)
+ [GitHub Impresa](https://github.com/enterprise/)
+ [GitLab](https://about.gitlab.com/)
+ [Bitbucket](https://bitbucket.org)
+ [GitLabautogestita](https://docs.gitlab.com/subscriptions/self_managed/)

Successivamente, crei un CloudFormation modello che definisca il tuo stack e lo aggiungi al tuo repository. Questo file modello viene monitorato. CloudFormation aggiorna automaticamente lo stack quando vengono apportate modifiche.

Nella CloudFormation console, crei un nuovo stack e scegli **Sincronizza da Git** per dire di CloudFormation usare Git sync. Specificherai il repository e il ramo che desideri CloudFormation monitorare e specificherai il CloudFormation modello nel tuo repository che definisce lo stack.

Durante la configurazione, puoi fornire il tuo file di implementazione dello stack dal repository o fare in modo che la sincronizzazione Git ne generi uno per te. Il file di implementazione dello stack contiene parametri e valori che configurano le risorse dello stack. Questo file di distribuzione dello stack viene monitorato. CloudFormation aggiorna automaticamente lo stack quando vengono apportate modifiche.

Git sync crea una richiesta pull nel tuo repository per sincronizzare lo stack con il file CloudFormation modello e il file di distribuzione dello stack. Il file di implementazione dello stack viene inviato al tuo repository dalla sincronizzazione Git se quest’ultima lo genera al posto tuo.

Quindi unisci la pull request al tuo repository in modo da effettuare il CloudFormation provisioning dello stack, configurarlo con i parametri di distribuzione e iniziare a monitorare il repository per rilevare eventuali modifiche.

Da quel momento in poi, ogni volta che apporti modifiche al tuo file modello o al file di distribuzione dello stack e le esegui nel tuo repository, rileverà automaticamente le modifiche. CloudFormation Se il tuo team utilizza le richieste pull, i membri possono rivedere e approvare le modifiche prima che vengano implementate. Una volta accettata la pull request, CloudFormation distribuisce le modifiche.

Puoi monitorare lo stato della configurazione di sincronizzazione Git per lo stack e vedere una cronologia dei commit applicati allo stack nella console. CloudFormation La console fornisce anche strumenti per la riconfigurazione della sincronizzazione Git e la risoluzione dei problemi. 

## Commenti sulle richieste pull
<a name="git-sync-comments-on-pull-requests"></a>

Puoi scegliere di CloudFormation creare un riepilogo delle modifiche al codice nelle richieste pull tramite il CodeConnections servizio attivando l'opzione **Abilita commento sulla pull request** nella console. Fornire un riepilogo delle modifiche nelle richieste pull significa che i membri del team possono facilmente esaminare e comprendere l’impatto delle modifiche proposte prima di unire la richiesta pull. Per ulteriori informazioni, consulta [Abilita CloudFormation la pubblicazione di un riepilogo delle modifiche allo stack nelle richieste pull](gitsync-enable-comments-on-pull-requests.md).

## File di implementazione dello stack
<a name="git-sync-concepts-terms-depoyment-file"></a>

Un file di distribuzione dello stack è un file in formato standard JSON ( JavaScript Object Notation) o YAML che contiene parametri e valori che gestiscono lo stack. CloudFormation Viene monitorato per rilevare eventuali modifiche. Quando viene eseguito il commit delle modifiche al file nel repository, lo stack associato viene aggiornato automaticamente.

Il file di implementazione dello stack contiene una coppia chiave-valore e due dizionari:
+ `template-file-path`

  Questo è il percorso completo del repository per il file modello. CloudFormation Il file modello dichiara le risorse per lo CloudFormation stack associato a questo file di distribuzione.
+ `parameters`

  Il dizionario dei parametri contiene coppie chiave-valore che configurano le risorse nello stack. Un file di implementazione dello stack può avere fino a 50 parametri.
+ `tags`

  Il dizionario dei tag contiene coppie chiave-valore facoltative che puoi utilizzare per identificare e classificare le risorse nello stack. Un file di implementazione dello stack può avere fino a 50 tag.

Puoi fornire il tuo file di implementazione dello stack o fare in modo che la sincronizzazione Git ne crei uno per te e invii automaticamente una richiesta pull al repository. Puoi gestire i parametri e i tag modificando il file di implementazione dello stack ed eseguendo il commit delle modifiche al repository.

Di seguito è riportato l’esempio di un file di implementazione dello stack della sincronizzazione Git:

```
template-file-path: fargate-srvc/my-stack-template.yaml

parameters: 
    image: public.ecr.aws/lts/nginx:latest
    task_size: x-small
    max_capacity: 5
    port: 8080
    env: production
tags:
    cost-center: '123456'
    org: 'AWS'
```

## CloudFormation file modello
<a name="git-sync-concepts-terms-template-file"></a>

Un file modello contiene una dichiarazione delle AWS risorse che compongono uno CloudFormation stack. Con la sincronizzazione Git, il file di modello a cui il file di implementazione dello stack fa riferimento viene archiviato nel repository Git. Puoi gestire lo stack modificando il file di modello ed eseguendo il commit delle modifiche al repository.

Per ulteriori informazioni, consulta [Lavorare con i CloudFormation modelli](template-guide.md).

## Repository delle definizioni dei modelli
<a name="git-sync-concepts-terms-template-definition-repository"></a>

Il repository delle definizioni dei modelli è il repository Git a cui è collegato tramite CloudFormation Git sync. Il repository viene monitorato per rilevare eventuali modifiche al CloudFormation modello e al file di distribuzione dello stack. Quando esegui il commit delle modifiche al file, lo stack associato viene aggiornato automaticamente.

**Importante**  
Quando configuri il repository delle definizioni dei modelli nella console della sincronizzazione Git, seleziona il *repository* e il *ramo* corretti dalla connessione Git. Git sync monitora solo il repository e il ramo configurati per le modifiche al CloudFormation modello e al file di distribuzione dello stack.