

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de NuGet packages dans CodeBuild
<a name="using-nuget-packages-in-codebuild"></a>

Les étapes suivantes ont été testées avec les systèmes d'exploitation répertoriés dans les [images Docker fournies par CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html).

**Topics**
+ [Configurer des autorisations avec des rôles IAM](#nuget-packages-in-codebuild-iam)
+ [Consommez NuGet des colis](#consume-nuget-packages-in-codebuild)
+ [Construire avec des NuGet packages](#build-nuget-packages-in-codebuild)
+ [Publier des NuGet packages](#publish-nuget-packages-in-codebuild)

## Configurer des autorisations avec des rôles IAM
<a name="nuget-packages-in-codebuild-iam"></a>

Ces étapes sont obligatoires lors de l'utilisation de NuGet packages depuis et CodeArtifact vers CodeBuild.

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation, choisissez **Rôles**. Sur la page **Rôles**, modifiez le rôle utilisé par votre projet de CodeBuild construction. Ce rôle doit disposer des autorisations suivantes.

------
#### [ 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"
                 }
             }
         }
     ]
   }
   ```

------
**Important**  
 Si vous souhaitez également utiliser pour CodeBuild publier des packages, ajoutez l'**codeartifact:PublishPackageVersion**autorisation. 

   Pour plus d'informations, consultez [la section Modification d'un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) dans le *guide de l'utilisateur IAM*.

## Consommez NuGet des colis
<a name="consume-nuget-packages-in-codebuild"></a>

Pour utiliser des NuGet packages à partir de CodeBuild, incluez les éléments suivants dans le `buildspec.yaml` fichier de votre projet.

1. Dans `install` cette section, installez le fournisseur CodeArtifact d'informations d'identification pour configurer des outils de ligne de commande tels que, ainsi que `msbuild` `dotnet` pour créer et publier des packages. CodeArtifact

1. Dans la `pre-build` section, ajoutez votre CodeArtifact référentiel à votre NuGet configuration.

Consultez les `buildspec.yaml` exemples suivants. Pour de plus amples informations, veuillez consulter [Utilisation CodeArtifact avec NuGet](using-nuget.md).

Une fois le fournisseur d'informations d'identification installé et la source de votre référentiel ajoutée, vous pouvez exécuter les commandes de l'outil NuGet CLI depuis la `build` section pour utiliser les NuGet packages.

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

 Pour consommer des NuGet packages à l'aide de `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>

 Pour consommer des NuGet packages à l'aide de `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
```

## Construire avec des NuGet packages
<a name="build-nuget-packages-in-codebuild"></a>

Pour créer avec des NuGet packages provenant de CodeBuild, incluez les éléments suivants dans le `buildspec.yaml` fichier de votre projet.

1. Dans `install` cette section, installez le fournisseur CodeArtifact d'informations d'identification pour configurer des outils de ligne de commande tels que, ainsi que `msbuild` `dotnet` pour créer et publier des packages. CodeArtifact

1. Dans la `pre-build` section, ajoutez votre CodeArtifact référentiel à votre NuGet configuration.

Consultez les `buildspec.yaml` exemples suivants. Pour de plus amples informations, veuillez consulter [Utilisation CodeArtifact avec NuGet](using-nuget.md).

Une fois le fournisseur d'informations d'identification installé et la source de votre référentiel ajoutée, vous pouvez exécuter les commandes de l'outil NuGet CLI comme indiqué `dotnet build` dans la `build` section.

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

 Pour créer des NuGet packages à l'aide de `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
```

 Pour créer des NuGet packages à l'aide de `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>

 Pour créer des NuGet packages à l'aide de `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
```

 Pour créer des NuGet packages à l'aide de `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
```

## Publier des NuGet packages
<a name="publish-nuget-packages-in-codebuild"></a>

Pour publier des NuGet packages CodeBuild, incluez les éléments suivants dans le `buildspec.yaml` fichier de votre projet.

1. Dans `install` cette section, installez le fournisseur CodeArtifact d'informations d'identification pour configurer des outils de ligne de commande tels que, ainsi que `msbuild` `dotnet` pour créer et publier des packages. CodeArtifact

1. Dans la `pre-build` section, ajoutez votre CodeArtifact référentiel à votre NuGet configuration.

Consultez les `buildspec.yaml` exemples suivants. Pour de plus amples informations, veuillez consulter [Utilisation CodeArtifact avec NuGet](using-nuget.md).

Une fois le fournisseur d'informations d'identification installé et la source de votre référentiel ajoutée, vous pouvez exécuter les commandes de l'outil NuGet CLI depuis la `build` section et publier vos NuGet packages.

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

 Pour publier des NuGet packages à l'aide de `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>

 Pour publier des NuGet packages à l'aide de `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
```