

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menggunakan NuGet paket di CodeBuild
<a name="using-nuget-packages-in-codebuild"></a>

Langkah-langkah berikut telah diuji dengan sistem operasi yang tercantum dalam [gambar Docker yang disediakan oleh CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html).

**Topics**
+ [Mengatur izin dengan IAM role](#nuget-packages-in-codebuild-iam)
+ [Konsumsi NuGet paket](#consume-nuget-packages-in-codebuild)
+ [Membangun dengan NuGet paket](#build-nuget-packages-in-codebuild)
+ [Publikasikan NuGet paket](#publish-nuget-packages-in-codebuild)

## Mengatur izin dengan IAM role
<a name="nuget-packages-in-codebuild-iam"></a>

Langkah-langkah ini diperlukan saat menggunakan NuGet paket dari CodeArtifact dalam CodeBuild.

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. Pada halaman **Peran**, edit peran yang digunakan oleh project CodeBuild build Anda. Peran ini harus memiliki izin berikut.

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

------
**penting**  
 Jika Anda juga ingin menggunakan CodeBuild untuk mempublikasikan paket, tambahkan **codeartifact:PublishPackageVersion** izin. 

   Untuk informasi selengkapnya, lihat [Modifying a Role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) dalam *Panduan Pengguna IAM*.

## Konsumsi NuGet paket
<a name="consume-nuget-packages-in-codebuild"></a>

Untuk menggunakan NuGet paket dari CodeBuild, sertakan yang berikut ini dalam `buildspec.yaml` file proyek Anda.

1. Di `install` bagian ini, instal CodeArtifact Credential Provider untuk mengkonfigurasi alat baris perintah seperti `msbuild` dan `dotnet` untuk membangun dan menerbitkan paket ke CodeArtifact.

1. Di `pre-build` bagian ini, tambahkan CodeArtifact repositori Anda ke konfigurasi Anda NuGet .

Lihat contoh `buildspec.yaml` berikut. Untuk informasi selengkapnya, lihat [Menggunakan CodeArtifact dengan NuGet](using-nuget.md).

Setelah penyedia kredensi diinstal dan sumber repositori Anda ditambahkan, Anda dapat menjalankan perintah alat NuGet CLI dari bagian `build` untuk mengkonsumsi paket. NuGet 

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

 Untuk mengkonsumsi NuGet paket menggunakan`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>

 Untuk mengkonsumsi NuGet paket menggunakan`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
```

## Membangun dengan NuGet paket
<a name="build-nuget-packages-in-codebuild"></a>

Untuk membangun dengan NuGet paket dari CodeBuild, sertakan yang berikut ini dalam `buildspec.yaml` file proyek Anda.

1. Di `install` bagian ini, instal CodeArtifact Credential Provider untuk mengkonfigurasi alat baris perintah seperti `msbuild` dan `dotnet` untuk membangun dan menerbitkan paket ke CodeArtifact.

1. Di `pre-build` bagian ini, tambahkan CodeArtifact repositori Anda ke konfigurasi Anda NuGet .

Lihat contoh `buildspec.yaml` berikut. Untuk informasi selengkapnya, lihat [Menggunakan CodeArtifact dengan NuGet](using-nuget.md).

Setelah penyedia kredensi diinstal dan sumber repositori Anda ditambahkan, Anda dapat menjalankan perintah alat NuGet CLI seperti dari bagian. `dotnet build` `build`

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

 Untuk membangun NuGet paket menggunakan`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
```

 Untuk membangun NuGet paket menggunakan`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>

 Untuk membangun NuGet paket menggunakan`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
```

 Untuk membangun NuGet paket menggunakan`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
```

## Publikasikan NuGet paket
<a name="publish-nuget-packages-in-codebuild"></a>

Untuk mempublikasikan NuGet paket dari CodeBuild, sertakan yang berikut ini dalam `buildspec.yaml` file proyek Anda.

1. Di `install` bagian ini, instal CodeArtifact Credential Provider untuk mengkonfigurasi alat baris perintah seperti `msbuild` dan `dotnet` untuk membangun dan menerbitkan paket ke CodeArtifact.

1. Di `pre-build` bagian ini, tambahkan CodeArtifact repositori Anda ke konfigurasi Anda NuGet .

Lihat contoh `buildspec.yaml` berikut. Untuk informasi selengkapnya, lihat [Menggunakan CodeArtifact dengan NuGet](using-nuget.md).

Setelah penyedia kredensi diinstal dan sumber repositori Anda ditambahkan, Anda dapat menjalankan perintah alat NuGet CLI dari `build` bagian dan mempublikasikan paket Anda. NuGet 

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

 Untuk mempublikasikan NuGet paket menggunakan`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>

 Untuk mempublikasikan NuGet paket menggunakan`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
```