

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

# Usare i pacchetti in NuGet CodeBuild
<a name="using-nuget-packages-in-codebuild"></a>

I seguenti passaggi sono stati testati con i sistemi operativi elencati nelle [immagini Docker fornite da CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html).

**Topics**
+ [Configura le autorizzazioni con i ruoli IAM](#nuget-packages-in-codebuild-iam)
+ [Consumare pacchetti NuGet](#consume-nuget-packages-in-codebuild)
+ [Crea con NuGet pacchetti](#build-nuget-packages-in-codebuild)
+ [Pubblica NuGet pacchetti](#publish-nuget-packages-in-codebuild)

## Configura le autorizzazioni con i ruoli IAM
<a name="nuget-packages-in-codebuild-iam"></a>

Questi passaggi sono necessari quando si utilizzano NuGet pacchetti da CodeArtifact in CodeBuild.

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, seleziona **Ruoli**. Nella pagina **Ruoli**, modifica il ruolo utilizzato dal tuo progetto di CodeBuild build. Questo ruolo deve avere le seguenti autorizzazioni.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [ "codeartifact:GetAuthorizationToken",
                         "codeartifact:GetRepositoryEndpoint",
                         "codeartifact:ReadFromRepository"
                         ],
             "Resource": "*"
         },
         {       
             "Effect": "Allow",
             "Action": "sts:GetServiceBearerToken",
             "Resource": "*",
             "Condition": {
                 "StringEquals": {
                     "sts:AWSServiceName": "codeartifact.amazonaws.com"
                 }
             }
         }
     ]
   }
   ```

------
**Importante**  
 Se desideri utilizzarlo anche CodeBuild per pubblicare pacchetti, aggiungi l'**codeartifact:PublishPackageVersion**autorizzazione. 

   Per informazioni, consulta [Modifying a Role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) nella *IAM User Guide*.

## Consumare pacchetti NuGet
<a name="consume-nuget-packages-in-codebuild"></a>

Per utilizzare NuGet i pacchetti da CodeBuild, includi quanto segue nel `buildspec.yaml` file del progetto.

1. Nella `install` sezione, installa il CodeArtifact Credential Provider per configurare strumenti da riga di comando come `msbuild` e `dotnet` su cui creare e pubblicare CodeArtifact pacchetti.

1. Nella `pre-build` sezione, aggiungi il tuo CodeArtifact repository alla tua NuGet configurazione.

Vedi i seguenti `buildspec.yaml` esempi. Per ulteriori informazioni, consulta [Utilizzo CodeArtifact con NuGet](using-nuget.md).

Dopo aver installato il provider di credenziali e aggiunto l'origine del repository, puoi eseguire i comandi dello strumento NuGet CLI dalla `build` sezione per consumare i pacchetti. NuGet 

### Linux
<a name="consume-nuget-packages-in-codebuild-linux"></a>

 Per utilizzare i pacchetti utilizzando: NuGet `dotnet` 

```
version: 0.2

phases:
  install:
    runtime-versions:
      dotnet: latest
    commands:
      - export PATH="$PATH:/root/.dotnet/tools"
      - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
      - dotnet codeartifact-creds install
  pre_build:
    commands:
      -  dotnet nuget add source -n codeartifact $(aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format nuget --query repositoryEndpoint --output text)"v3/index.json"
  build:
    commands:
      - dotnet add package <packageName> --source codeartifact
```

### Windows
<a name="consume-nuget-packages-in-codebuild-windows"></a>

 Per consumare NuGet pacchetti utilizzando`dotnet`: 

```
version: 0.2

phases:
  install:
    commands:
      - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
      - dotnet codeartifact-creds install
  pre_build:
    commands:
      - dotnet nuget add source -n codeartifact "$(aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format nuget --query repositoryEndpoint --output text)v3/index.json"
  build:
    commands:
      - dotnet add package <packageName> --source codeartifact
```

## Crea con NuGet pacchetti
<a name="build-nuget-packages-in-codebuild"></a>

Per creare con NuGet i pacchetti di CodeBuild, includi quanto segue nel `buildspec.yaml` file del progetto.

1. Nella `install` sezione, installa il CodeArtifact Credential Provider per configurare strumenti da riga di comando come `msbuild` e `dotnet` su cui creare e pubblicare CodeArtifact pacchetti.

1. Nella `pre-build` sezione, aggiungi il tuo CodeArtifact repository alla tua NuGet configurazione.

Vedi i seguenti `buildspec.yaml` esempi. Per ulteriori informazioni, consulta [Utilizzo CodeArtifact con NuGet](using-nuget.md).

Dopo aver installato il provider di credenziali e aggiunto l'origine del repository, puoi eseguire i comandi dello strumento NuGet CLI come `dotnet build` nella sezione. `build`

### Linux
<a name="build-nuget-packages-in-codebuild-linux"></a>

 Per creare pacchetti usando NuGet : `dotnet` 

```
version: 0.2

phases:
  install:
    runtime-versions:
      dotnet: latest
    commands:
      - export PATH="$PATH:/root/.dotnet/tools"
      - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
      - dotnet codeartifact-creds install
  pre_build:
    commands:
      -  dotnet nuget add source -n codeartifact $(aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget --query repositoryEndpoint --output text)"v3/index.json"
  build:
    commands:
      - dotnet build
```

 Per creare NuGet pacchetti usando`msbuild`: 

```
version: 0.2

phases:
  install:
    runtime-versions:
      dotnet: latest
    commands:
      - export PATH="$PATH:/root/.dotnet/tools"
      - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
      - dotnet codeartifact-creds install
  pre_build:
    commands:
      - dotnet nuget add source -n codeartifact $(aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format nuget --query repositoryEndpoint --output text)"v3/index.json"
  build:
    commands:
      - msbuild -t:Rebuild -p:Configuration=Release
```

### Windows
<a name="build-nuget-packages-in-codebuild-windows"></a>

 Per creare NuGet pacchetti usando`dotnet`: 

```
version: 0.2

phases:
  install:
    commands:
      - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
      - dotnet codeartifact-creds install
  pre_build:
    commands:
      - dotnet nuget add source -n codeartifact "$(aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format nuget --query repositoryEndpoint --output text)v3/index.json"
  build:
    commands:
      - dotnet build
```

 Per creare NuGet pacchetti usando`msbuild`: 

```
version: 0.2

phases:
  install:
    commands:
      - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
      - dotnet codeartifact-creds install
  pre_build:
    commands:
      - dotnet nuget add source -n codeartifact "$(aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format nuget --query repositoryEndpoint --output text)v3/index.json"
  build:
    commands:
      - msbuild -t:Rebuild -p:Configuration=Release
```

## Pubblica NuGet pacchetti
<a name="publish-nuget-packages-in-codebuild"></a>

Per pubblicare NuGet pacchetti da CodeBuild, includi quanto segue nel `buildspec.yaml` file del progetto.

1. Nella `install` sezione, installa il CodeArtifact Credential Provider per configurare strumenti da riga di comando come `msbuild` e `dotnet` su cui creare e pubblicare CodeArtifact pacchetti.

1. Nella `pre-build` sezione, aggiungi il tuo CodeArtifact repository alla tua NuGet configurazione.

Vedi i seguenti `buildspec.yaml` esempi. Per ulteriori informazioni, consulta [Utilizzo CodeArtifact con NuGet](using-nuget.md).

Dopo aver installato il provider di credenziali e aggiunto l'origine del repository, puoi eseguire i comandi dello strumento NuGet CLI dalla `build` sezione e pubblicare i pacchetti. NuGet 

### Linux
<a name="publish-nuget-packages-in-codebuild-linux"></a>

 Per pubblicare pacchetti utilizzando NuGet : `dotnet` 

```
version: 0.2

phases:
  install:
    runtime-versions:
      dotnet: latest
    commands:
      - export PATH="$PATH:/root/.dotnet/tools"
      - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
      - dotnet codeartifact-creds install
  pre_build:
    commands:
      - dotnet nuget add source -n codeartifact $(aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format nuget --query repositoryEndpoint --output text)"v3/index.json"
  build:
    commands:
      - dotnet pack -o .
      - dotnet nuget push *.nupkg -s codeartifact
```

### Windows
<a name="publish-nuget-packages-in-codebuild-windows"></a>

 Per pubblicare NuGet pacchetti utilizzando`dotnet`: 

```
version: 0.2

phases:
  install:
    commands:
      - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
      - dotnet codeartifact-creds install
  pre_build:
    commands:
      - dotnet nuget add source -n codeartifact "$(aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format nuget --query repositoryEndpoint --output text)v3/index.json"
  build:
    commands:
      - dotnet pack -o .
      - dotnet nuget push *.nupkg -s codeartifact
```