

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

# Utilizzare l' CodeDeploy agente per convalidare un pacchetto di distribuzione su un computer locale
<a name="deployments-local"></a>

Utilizzando l' CodeDeploy agente, puoi distribuire contenuti su un'istanza a cui hai effettuato l'accesso. Ciò consente di verificare l'integrità di un file di specifiche dell'applicazione (AppSpec file) che si intende utilizzare in una distribuzione e del contenuto che si intende distribuire. 

Non è necessario creare un'applicazione e un gruppo di distribuzione. Se desideri distribuire il contenuto archiviato sull'istanza locale, non hai nemmeno bisogno di un AWS account. Per i test più semplici, puoi eseguire il **codedeploy-local** comando, senza specificare alcuna opzione, in una directory che contiene il AppSpec file e il contenuto da distribuire. Lo strumento offre opzioni per altri test case. 

Convalidando un pacchetto di distribuzione in un computer locale è possibile:
+ Testare l'integrità di una revisione dell'applicazione.
+ Verifica il contenuto di un AppSpec file.
+ Prova CodeDeploy per la prima volta con il codice dell'applicazione esistente.
+ Distribuire il contenuto in modo rapido quando si è già connessi a un'istanza.

Puoi utilizzare contenuti di distribuzione archiviati sull'istanza locale o in un tipo di repository remoto supportato (bucket Amazon S3 o repository pubblici). GitHub 

## Prerequisiti
<a name="deployments-local-prerequisites"></a>

Prima di avviare una distribuzione locale, completa la procedura illustrata di seguito: 
+ Crea o usa un tipo di istanza supportato dall'agente. CodeDeploy Per informazioni, consulta [Sistemi operativi supportati dall'agente CodeDeploy](codedeploy-agent.md#codedeploy-agent-supported-operating-systems). 
+ Installa la versione 1.0.1.1352 o successiva dell'agente. CodeDeploy Per informazioni, consulta [Installa l' CodeDeploy agente](codedeploy-agent-operations-install.md).
+ Se stai distribuendo i tuoi contenuti da un bucket GitHub o da un repository Amazon S3, fornisci un utente con cui utilizzarli. CodeDeploy Per informazioni, consulta [Fase 1: Configurazione](getting-started-setting-up.md).
+ Se stai distribuendo la revisione dell'applicazione da un bucket Amazon S3, crea un bucket Amazon S3 nella regione in cui lavori e applica una policy per i bucket Amazon S3 al bucket. Questa policy concede alle istanze le autorizzazioni richieste per scaricare la revisione dell'applicazione.

  Ad esempio, la seguente policy sui bucket di Amazon S3 consente a qualsiasi istanza Amazon EC2 con un profilo di istanza IAM collegato contenente l'ARN `arn:aws:iam::444455556666:role/CodeDeployDemo` di essere scaricata da qualsiasi punto del bucket Amazon S3 denominato: `amzn-s3-demo-bucket`

  ```
  {
      "Statement": [
          {
              "Action": [
                  "s3:Get*",
                  "s3:List*"
              ],
              "Effect": "Allow",
              "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
              "Principal": {
                  "AWS": [
                      "arn:aws:iam::444455556666:role/CodeDeployDemo"
                  ]
              }
          }
      ]
  }
  ```

  La seguente policy sui bucket di Amazon S3 consente a qualsiasi istanza locale con un utente IAM associato contenente l'ARN di essere scaricata `arn:aws:iam::444455556666:user/CodeDeployUser` da qualsiasi punto del bucket Amazon S3 denominato: `amzn-s3-demo-bucket`

  ```
  {
      "Statement": [
          {
              "Action": [
                  "s3:Get*",
                  "s3:List*"
              ],
              "Effect": "Allow",
              "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
              "Principal": {
                  "AWS": [
                      "arn:aws:iam::444455556666:user/CodeDeployUser"
                  ]
              }
          }
      ]
  }
  ```

  Per informazioni su come generare e allegare una bucket policy di Amazon S3, consulta Esempi di policy [Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).
+ Se stai distribuendo la revisione dell'applicazione da un bucket GitHub o da un repository Amazon S3, configura un profilo di istanza IAM e collegalo all'istanza. Per informazioni, consulta [Fase 4: crea un profilo di istanza IAM per le tue istanze Amazon EC2](getting-started-create-iam-instance-profile.md), [Crea un'istanza Amazon EC2 per CodeDeploy (AWS CLI o una console Amazon EC2)](instances-ec2-create.md) e [Crea un'istanza Amazon EC2 per CodeDeploy (modello)CloudFormation](instances-ec2-create-cloudformation-template.md).
+ Se stai distribuendo i tuoi contenuti da GitHub, crea un account e un GitHub archivio pubblico. [Per creare un GitHub account, consulta Partecipa. GitHub](https://github.com/join) Per creare un GitHub repository, consulta [Creare un repository](https://help.github.com/articles/create-a-repo/).
**Nota**  
 I repository privati attualmente non sono supportati. Se i tuoi contenuti sono archiviati in un GitHub repository privato, puoi scaricarli sull'istanza e utilizzare l'`--bundle-location`opzione per specificarne il percorso locale.
+ Prepara il contenuto (incluso un AppSpec file) che desideri distribuire sull'istanza e inseriscilo nell'istanza locale, nel tuo bucket Amazon S3 o nel tuo repository. GitHub Per informazioni, consulta [Utilizzo delle revisioni delle applicazioni per CodeDeploy](application-revisions.md).
+ Se desideri utilizzare valori diversi da quelli predefiniti per altre opzioni di configurazione, crea il file di configurazione e posizionalo nell'istanza (per istanze `/etc/codedeploy-agent/conf/codedeployagent.yml` Amazon Linux, RHEL o Ubuntu Server o `C:\ProgramData\Amazon\CodeDeploy\conf.yml` per istanze Windows Server). Per informazioni, consulta [CodeDeploy riferimento alla configurazione dell'agente](reference-agent-configuration.md).
**Nota**  
Se utilizzi un file di configurazione su istanze Amazon Linux, RHEL o Ubuntu Server, devi:  
Utilizzare le variabili `:root_dir:` e `:log_dir:` per specificare posizioni diverse da quelle predefinite per la cartella della directory dei log e la cartella principale della distribuzione. 
Utilizzato `sudo` per eseguire i comandi CodeDeploy dell'agente.

## Crea una distribuzione locale
<a name="deployments-local-deploy"></a>

Nell'istanza in cui desideri creare la distribuzione locale, apri una sessione terminale (istanze Amazon Linux, RHEL o Ubuntu Server) o un prompt dei comandi (Windows Server) per eseguire i comandi dello strumento.

**Nota**  
 Il comando **codedeploy-local** viene installato nelle posizioni seguenti:   
 Su Amazon Linux, RHEL o Ubuntu Server:`/opt/codedeploy-agent/bin`. 
 Su Windows Server:`C:\ProgramData\Amazon\CodeDeploy\bin`. 

** Sintassi del comando base **

```
codedeploy-local [options]
```

**Riepilogo**

```
codedeploy-local
[--bundle-location <value>]
[--type <value>]
[--file-exists-behavior <value>]
[--deployment-group <value>]
[--events <comma-separated values>]
[--agent-configuration-file <value>]
[--appspec-filename <value>]
```

**Opzioni**

**-l**, **--bundle-location**

La posizione del bundle di revisione dell'applicazione. Se non specifichi un percorso, per impostazione predefinita lo strumento utilizza la directory di lavoro. Se specifichi un valore per `--bundle-location`, devi specificare anche un valore per `--type`.

Esempi di formato del percorso del bundle:
+ Istanza locale di Amazon Linux, RHEL o Ubuntu Server: `/path/to/local/bundle.tgz`
+ Istanza locale di Windows Server: `C:/path/to/local/bundle`
+ Bucket Amazon S3: `s3://amzn-s3-demo-bucket/bundle.tar`
+ GitHub archivio: `https://github.com/account-name/repository-name/`

**-t**, **--type**

Il formato del bundle di revisione dell'applicazione. I tipi supportati includono `tgz`, `tar`, `zip` e `directory`. Se non specifichi un tipo, lo strumento utilizza `directory` per impostazione predefinita. Se specifichi un valore per `--type`, devi specificare anche un valore per `--bundle-location`.

**-b****, -- file-exists-behavior**

Indica come vengono gestiti in una posizione di destinazione della distribuzione i file già esistenti che non facevano parte della distribuzione precedente. Le opzioni includono DISALLOW, OVERWRITE, RETAIN. Per ulteriori informazioni, consulta [fileExistsBehavior AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html#CodeDeploy-CreateDeployment-request-fileExistsBehavior)*[API Reference.](https://docs.aws.amazon.com/codedeploy/latest/APIReference/)*

**-g**, **--deployment-group**

Il percorso della cartella di destinazione del contenuto da distribuire. Se non si specifica una cartella, lo strumento ne crea una denominata *default-local-deployment-group*all'interno della directory principale di distribuzione. Per ogni distribuzione locale creata, all'interno di questa cartella lo strumento crea una sottodirectory con nomi del tipo *d-98761234-local*.

**-e**, **--events**

Un set di hook di eventi override lifecycle che desideri eseguire, in ordine, anziché gli eventi elencati nel file. AppSpec È possibile specificare più hook separati da virgole. Puoi utilizzare questa opzione se:
+ Vuoi eseguire un set diverso di eventi senza dover aggiornare il file. AppSpec 
+ Vuoi eseguire un singolo hook di eventi come eccezione al contenuto del AppSpec file, ad esempio`ApplicationStop`.

Se non specificate né **DownloadBundle****installate** gli eventi nell'elenco delle sostituzioni, questi verranno eseguiti prima di tutti gli hook di eventi specificati. Se includi **DownloadBundle**e **Install** nell'elenco delle `--events` opzioni, questi devono essere preceduti solo da eventi che normalmente vengono eseguiti prima di loro nelle distribuzioni. CodeDeploy Per informazioni, consulta [AppSpec sezione 'hooks'](reference-appspec-file-structure-hooks.md).

****-c, -- agent-configuration-file****

Posizione di un file di configurazione da utilizzare per la distribuzione, se archiviato in un percorso diverso da quello predefinito. Un file di configurazione specifica alternative rispetto ad altri valori e comportamenti predefiniti per una distribuzione. 

Per impostazione predefinita, i file di configurazione vengono archiviati in `/etc/codedeploy-agent/conf/codedeployagent.yml` (istanze Amazon Linux, RHEL o Ubuntu Server) o `C:/ProgramData/Amazon/CodeDeploy/conf.yml` (Windows Server). Per ulteriori informazioni, consulta [CodeDeploy riferimento alla configurazione dell'agente](reference-agent-configuration.md).

****-A, --appspec-filename****

Il nome del file. AppSpec Per le distribuzioni locali, i valori accettati sono `appspec.yml` e. `appspec.yaml` Per impostazione predefinita, il AppSpec file viene chiamato. `appspec.yml`

**-h**, **--help**

Visualizza un riepilogo del contenuto della guida.

**-v**, **--version**

Visualizza il numero di versione dello strumento.

## Esempi
<a name="deployments-local-examples"></a>

Di seguito vengono illustrati alcuni esempi di formati di comando validi.

```
codedeploy-local
```

```
codedeploy-local --bundle-location /path/to/local/bundle/directory
```

```
codedeploy-local --bundle-location C:/path/to/local/bundle.zip --type zip --deployment-group my-deployment-group
```

```
codedeploy-local --bundle-location /path/to/local/directory --type directory --deployment-group my-deployment-group
```

Distribuisci un pacchetto da Amazon S3:

```
codedeploy-local --bundle-location s3://amzn-s3-demo-bucket/bundle.tgz --type tgz
```

```
codedeploy-local --bundle-location s3://amzn-s3-demo-bucket/bundle.zip?versionId=1234&etag=47e8 --type zip --deployment-group my-deployment-group
```

Distribuisci un pacchetto da un archivio pubblico: GitHub 

```
codedeploy-local --bundle-location https://github.com/awslabs/aws-codedeploy-sample-tomcat --type zip
```

```
codedeploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/master --type zip
```

```
codedeploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/HEAD --type zip
```

```
codedeploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/1a2b3c4d --type zip
```

Distribuire un pacchetto specificando più eventi del ciclo di vita:

```
codedeploy-local --bundle-location /path/to/local/bundle.tar --type tar --application-folder my-deployment --events DownloadBundle,Install,ApplicationStart,HealthCheck
```

Arresta un'applicazione precedentemente distribuita utilizzando l'evento del ciclo di vita: ApplicationStop 

```
codedeploy-local --bundle-location /path/to/local/bundle.tgz --type tgz --deployment-group --events ApplicationStop
```

Effettuare la distribuzione utilizzando un ID del gruppo di distribuzione specifico:

```
codedeploy-local --bundle-location C:/path/to/local/bundle/directory --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca
```

```
codedeploy-local --bundle-location C:/path/to/local/bundle.zip --type zip --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca
```