

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando NuGet pacotes em CodeBuild
<a name="using-nuget-packages-in-codebuild"></a>

As etapas a seguir foram testadas com os sistemas operacionais listados nas [imagens do Docker fornecidas pelo CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html).

**Topics**
+ [Configurar permissões com perfis do IAM](#nuget-packages-in-codebuild-iam)
+ [Consuma NuGet pacotes](#consume-nuget-packages-in-codebuild)
+ [Crie com NuGet pacotes](#build-nuget-packages-in-codebuild)
+ [Publique NuGet pacotes](#publish-nuget-packages-in-codebuild)

## Configurar permissões com perfis do IAM
<a name="nuget-packages-in-codebuild-iam"></a>

Essas etapas são necessárias ao usar NuGet pacotes de CodeArtifact dentro CodeBuild.

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, escolha **Perfis**. Na página **Funções**, edite a função usada pelo seu projeto de CodeBuild compilação. Essa função deve ter as seguintes permissões.

------
#### [ 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 você também quiser usar CodeBuild para publicar pacotes, adicione a **codeartifact:PublishPackageVersion** permissão. 

   Para obter informações, consulte [Modificar uma função](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) no *Guia do usuário do IAM*.

## Consuma NuGet pacotes
<a name="consume-nuget-packages-in-codebuild"></a>

Para consumir NuGet pacotes do CodeBuild, inclua o seguinte no `buildspec.yaml` arquivo do seu projeto.

1. Na `install` seção, instale o provedor de CodeArtifact credenciais para configurar ferramentas de linha de comando, como `dotnet` criar `msbuild` e publicar CodeArtifact pacotes.

1. Na `pre-build` seção, adicione seu CodeArtifact repositório à sua NuGet configuração.

Veja os exemplos de `buildspec.yaml` a seguir. Para obter mais informações, consulte [Usando o CodeArtifact com NuGet](using-nuget.md).

Depois que o provedor de credenciais for instalado e a fonte do repositório for adicionada, você poderá executar os comandos da ferramenta NuGet CLI na `build` seção para consumir pacotes. NuGet 

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

 Para consumir NuGet pacotes usando`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>

 Para consumir NuGet pacotes 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 add package <packageName> --source codeartifact
```

## Crie com NuGet pacotes
<a name="build-nuget-packages-in-codebuild"></a>

Para criar com NuGet pacotes do CodeBuild, inclua o seguinte no `buildspec.yaml` arquivo do seu projeto.

1. Na `install` seção, instale o provedor de CodeArtifact credenciais para configurar ferramentas de linha de comando, como `dotnet` criar `msbuild` e publicar CodeArtifact pacotes.

1. Na `pre-build` seção, adicione seu CodeArtifact repositório à sua NuGet configuração.

Veja os exemplos de `buildspec.yaml` a seguir. Para obter mais informações, consulte [Usando o CodeArtifact com NuGet](using-nuget.md).

Depois que o provedor de credenciais for instalado e a fonte do repositório for adicionada, você poderá executar os comandos da ferramenta NuGet CLI, como `dotnet build` na seção. `build`

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

 Para criar NuGet pacotes usando`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
```

 Para criar NuGet pacotes 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>

 Para criar NuGet pacotes 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
```

 Para criar NuGet pacotes 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
```

## Publique NuGet pacotes
<a name="publish-nuget-packages-in-codebuild"></a>

Para publicar NuGet pacotes do CodeBuild, inclua o seguinte no `buildspec.yaml` arquivo do seu projeto.

1. Na `install` seção, instale o provedor de CodeArtifact credenciais para configurar ferramentas de linha de comando, como `dotnet` criar `msbuild` e publicar CodeArtifact pacotes.

1. Na `pre-build` seção, adicione seu CodeArtifact repositório à sua NuGet configuração.

Veja os exemplos de `buildspec.yaml` a seguir. Para obter mais informações, consulte [Usando o CodeArtifact com NuGet](using-nuget.md).

Depois que o provedor de credenciais for instalado e a fonte do repositório for adicionada, você poderá executar os comandos da ferramenta NuGet CLI na `build` seção e publicar seus pacotes. NuGet 

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

 Para publicar NuGet pacotes usando`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>

 Para publicar NuGet pacotes 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 pack -o .
      - dotnet nuget push *.nupkg -s codeartifact
```