

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

# Gunakan CodeArtifact dengan nuget atau dotnet CLI
<a name="nuget-cli"></a>

Anda dapat menggunakan alat CLI seperti `nuget` dan `dotnet` untuk menerbitkan dan menggunakan paket dari. CodeArtifact Dokumen ini memberikan informasi tentang mengonfigurasi alat CLI dan menggunakannya untuk memublikasikan atau menggunakan paket.

**Topics**
+ [Mengonfigurasi nuget atau dotnet CLI](#nuget-configure-cli)
+ [Konsumsi NuGet paket dari CodeArtifact](#nuget-consume-cli)
+ [Publikasikan NuGet paket ke CodeArtifact](#nuget-publish-cli)
+ [CodeArtifact NuGet Referensi Penyedia Kredensi](#nuget-cred-provider-reference)
+ [CodeArtifact NuGet Versi Penyedia Kredensi](#nuget-cred-provider-history)

## Mengonfigurasi nuget atau dotnet CLI
<a name="nuget-configure-cli"></a>

Anda dapat mengonfigurasi CLI nuget atau dotnet dengan Penyedia Kredenal, dengan CodeArtifact NuGet , atau secara manual. AWS CLI Konfigurasi NuGet dengan penyedia kredensi sangat disarankan untuk pengaturan yang disederhanakan dan otentikasi lanjutan.

### Metode 1: Konfigurasikan dengan Penyedia CodeArtifact NuGet Kredenal
<a name="nuget-configure-cli-cred-provider"></a>

 CodeArtifact NuGet Credential Provider menyederhanakan otentikasi dan konfigurasi dengan alat CodeArtifact CLI NuGet . CodeArtifact token otentikasi berlaku selama maksimal 12 jam. Agar tidak perlu menyegarkan token secara manual saat menggunakan nuget atau dotnet CLI, penyedia kredensial secara berkala mengambil token baru sebelum token saat ini berakhir. 

**penting**  
Untuk menggunakan penyedia kredensi, pastikan AWS CodeArtifact kredensi yang ada dihapus dari `nuget.config` file Anda yang mungkin telah ditambahkan secara manual atau dengan menjalankan `aws codeartifact login` konfigurasi sebelumnya. NuGet 

**Instal dan konfigurasikan Penyedia CodeArtifact NuGet Kredenal**

------
#### [ dotnet ]

1. Unduh versi terbaru [AWS. CodeArtifact. NuGet. CredentialProvider alat dari NuGet .org](https://www.nuget.org/packages/AWS.CodeArtifact.NuGet.CredentialProvider) dengan `dotnet` perintah berikut.

   ```
   dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
   ```

1. Gunakan `codeartifact-creds install` perintah untuk menyalin penyedia kredensi ke folder NuGet plugin.

   ```
   dotnet codeartifact-creds install
   ```

1. (Opsional): Atur AWS profil yang ingin Anda gunakan dengan penyedia kredensi. Jika tidak diatur, penyedia kredensial akan menggunakan profil default. Untuk informasi selengkapnya tentang AWS CLI profil, lihat [Profil bernama](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

   ```
   dotnet codeartifact-creds configure set profile profile_name
   ```

------
#### [ nuget ]

Lakukan langkah-langkah berikut untuk menggunakan NuGet CLI untuk menginstal CodeArtifact NuGet Credential Provider dari bucket Amazon S3 dan mengonfigurasinya. Penyedia kredensi akan menggunakan AWS CLI profil default, untuk informasi selengkapnya tentang profil, lihat [Profil bernama](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

1. Unduh versi terbaru [CodeArtifact NuGet Credential Provider (codeartifact-nuget-credentialprovider.zip) dari bucket](https://a.co/dbGqKq7) Amazon S3.

   Untuk melihat dan mengunduh versi sebelumnya, lihat[CodeArtifact NuGet Versi Penyedia Kredensi](#nuget-cred-provider-history).

1. Buka filenya.

1. Salin **AWS. CodeArtifact. NuGetCredentialProvider**folder dari folder **netfx** ke `%user_profile%/.nuget/plugins/netfx/` di Windows atau `~/.nuget/plugins/netfx` di Linux atau macOS.

1. Salin **AWS. CodeArtifact. NuGetCredentialProvider**folder dari folder **netcore** ke `%user_profile%/.nuget/plugins/netcore/` di Windows atau `~/.nuget/plugins/netcore` di Linux atau macOS.

------

Setelah membuat repositori dan mengonfigurasi penyedia kredensial, Anda dapat menggunakan alat CLI `nuget` atau `dotnet` untuk menginstal dan memublikasikan paket. Untuk informasi selengkapnya, lihat [Konsumsi NuGet paket dari CodeArtifact](#nuget-consume-cli) dan [Publikasikan NuGet paket ke CodeArtifact](#nuget-publish-cli).

### Metode 2: Mengonfigurasi nuget atau dotnet dengan perintah masuk
<a name="nuget-configure-login"></a>

`codeartifact login`Perintah di AWS CLI menambahkan titik akhir repositori dan token otorisasi ke file NuGet konfigurasi Anda yang memungkinkan nuget atau dotnet untuk terhubung ke repositori Anda. CodeArtifact Ini akan mengubah NuGet konfigurasi tingkat pengguna yang terletak di `%appdata%\NuGet\NuGet.Config` untuk Windows dan `~/.config/NuGet/NuGet.Config` atau `~/.nuget/NuGet/NuGet.Config` untuk Mac/Linux. Untuk informasi selengkapnya tentang NuGet konfigurasi, lihat [ NuGet Konfigurasi umum](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior). 

**Mengonfigurasi nuget atau dotnet dengan perintah `login`**

1. Konfigurasikan AWS kredensional Anda untuk digunakan dengan AWS CLI, seperti yang dijelaskan dalam. [Memulai dengan CodeArtifact](getting-started.md)

1. Pastikan bahwa alat NuGet CLI (`nuget`atau`dotnet`) telah diinstal dan dikonfigurasi dengan benar. Untuk instruksi, lihat dokumentasi [nuget](https://docs.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference)atau [dotnet](https://docs.microsoft.com/en-us/dotnet/core/install/).

1. Gunakan CodeArtifact `login` perintah untuk mengambil kredensional untuk digunakan dengan. NuGet
**catatan**  
Jika Anda mengakses repositori di domain milik Anda, Anda tidak perlu menyertakan `--domain-owner`. Untuk informasi selengkapnya, lihat [Domain lintas akun](domain-overview.md#domain-overview-cross-account).

------
#### [ dotnet ]

**penting**  
**Pengguna Linux dan MacOS:** Karena enkripsi tidak didukung pada platform non-Windows, kredensial yang diambil akan disimpan sebagai teks biasa dalam file konfigurasi Anda.

   ```
   aws codeartifact login --tool dotnet --domain my_domain --domain-owner 111122223333 --repository my_repo
   ```

------
#### [ nuget ]

   ```
   aws codeartifact login --tool nuget --domain my_domain --domain-owner 111122223333 --repository my_repo
   ```

------

Perintah login akan:
+ Ambil token otorisasi dari CodeArtifact menggunakan kredensional Anda AWS . 
+ Perbarui NuGet konfigurasi tingkat pengguna Anda dengan entri baru untuk sumber NuGet paket Anda. Sumber yang menunjuk ke titik akhir CodeArtifact repositori Anda akan dipanggil. `domain_name/repo_name`

Periode otorisasi default setelah memanggil `login` adalah 12 jam, dan `login` harus dipanggil untuk menyegarkan token secara berkala. Untuk informasi selengkapnya tentang token otorisasi yang dibuat dengan perintah `login`, lihat [Token dibuat dengan perintah `login`](tokens-authentication.md#auth-token-login).

Setelah membuat repositori dan mengonfigurasi autentikasi, Anda dapat menggunakan `nuget`, `dotnet`, atau `msbuild` CLI klien untuk menginstal dan memublikasikan paket. Untuk informasi selengkapnya, lihat [Konsumsi NuGet paket dari CodeArtifact](#nuget-consume-cli) dan [Publikasikan NuGet paket ke CodeArtifact](#nuget-publish-cli).

### Metode 3: Mengonfigurasi nuget atau dotnet tanpa perintah masuk
<a name="nuget-configure-without-login"></a>

Untuk konfigurasi manual, Anda harus menambahkan titik akhir repositori dan token otorisasi ke file NuGet konfigurasi Anda untuk mengaktifkan nuget atau dotnet untuk terhubung ke repositori Anda. CodeArtifact 

**Konfigurasikan nuget atau dotnet secara manual untuk terhubung ke repositori Anda. CodeArtifact **

1. Tentukan titik akhir CodeArtifact repositori Anda dengan menggunakan perintah. `get-repository-endpoint` AWS CLI 

   ```
   aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget
   ```

   Contoh output:

   ```
   {
      "repositoryEndpoint": "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/"
   }
   ```

1. Dapatkan token otorisasi untuk terhubung ke repositori Anda dari manajer paket Anda dengan menggunakan perintah. `get-authorization-token` AWS CLI 

   ```
   aws codeartifact get-authorization-token --domain my_domain
   ```

   Contoh output:

   ```
   {
      "authorizationToken": "eyJ2I...viOw",
      "expiration": 1601616533.0
   }
   ```

1. Buat URL endpoint repositori lengkap dengan menambahkan `/v3/index.json` ke URL yang dikembalikan pada langkah `get-repository-endpoint` 3.

1. Konfigurasi nuget atau dotnet untuk menggunakan titik akhir repositori dari Langkah 1 dan token otorisasi dari Langkah 2.
**catatan**  
URL sumber harus diakhiri `/v3/index.json` agar nuget atau dotnet berhasil terhubung ke repositori. CodeArtifact 

------
#### [ dotnet ]

   **Pengguna Linux dan macOS:** Karena enkripsi tidak didukung pada platform non-Windows, Anda harus menambahkan tanda `--store-password-in-clear-text` ke perintah berikut. Perhatikan bahwa ini akan menyimpan kata sandi Anda sebagai teks biasa dalam file konfigurasi Anda.

   ```
   dotnet nuget add source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json --name packageSourceName --password eyJ2I...viOw --username aws
   ```

**catatan**  
Untuk memperbarui sumber yang ada, gunakan `dotnet nuget update source` perintah.

------
#### [ nuget ]

   ```
   nuget sources add -name domain_name/repo_name -Source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json -password eyJ2I...viOw -username aws
   ```

------

   Contoh output:

   ```
   Package source with Name: domain_name/repo_name added successfully.
   ```
**catatan**  
Untuk menggunakan endpoint dualstack, gunakan endpoint. `codeartifact.region.on.aws`

## Konsumsi NuGet paket dari CodeArtifact
<a name="nuget-consume-cli"></a>

Setelah Anda [mengonfigurasi NuGet CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), Anda dapat menggunakan NuGet paket yang disimpan di repositori Anda atau salah satu CodeArtifact repositori hulu.

Untuk menggunakan versi paket dari CodeArtifact repositori atau salah satu repositori hulu dengan `nuget` atau`dotnet`, jalankan perintah berikut mengganti *packageName* dengan nama paket yang ingin Anda konsumsi dan *packageSourceName* dengan nama sumber untuk CodeArtifact repositori Anda di file konfigurasi Anda. NuGet Jika Anda menggunakan `login` perintah untuk mengonfigurasi NuGet konfigurasi Anda, nama sumbernya adalah*domain\$1name/repo\$1name*.

**catatan**  
Ketika sebuah paket diminta, NuGet klien menyimpan versi paket mana yang ada. Karena perilaku ini, instalasi mungkin gagal untuk paket yang sebelumnya diminta sebelum versi yang diinginkan tersedia. Untuk menghindari kegagalan ini dan berhasil menginstal paket yang ada, Anda dapat NuGet menghapus cache sebelum menginstal dengan `nuget locals all --clear` atau`dotnet nuget locals all --clear`, atau menghindari menggunakan cache selama `install` dan `restore` perintah dengan memberikan `-NoCache` opsi untuk `nuget` atau `--no-cache` opsi untuk`dotnet`.

------
#### [ dotnet ]

```
dotnet add package packageName --source packageSourceName
```

------
#### [ nuget ]

```
nuget install packageName -Source packageSourceName
```

------

**Untuk menginstal versi tertentu dari sebuah paket**

------
#### [ dotnet ]

```
dotnet add package packageName --version 1.0.0 --source packageSourceName
```

------
#### [ nuget ]

```
nuget install packageName -Version 1.0.0 -Source packageSourceName
```

------

Lihat [Manage packages using the nuget.exe CLI](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-nuget-cli) atau [Install and manage packages using the dotnet CLI](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-dotnet-cli) dalam *Dokumentasi Microsoft* untuk informasi selengkapnya.

### Konsumsi NuGet paket dari NuGet .org
<a name="nuget-consume-nuget-gallery"></a>

**Anda dapat menggunakan NuGet paket dari [NuGet.org](https://www.nuget.org/) melalui CodeArtifact repositori dengan mengonfigurasi repositori dengan koneksi eksternal ke .org. NuGet** Paket yang dikonsumsi dari **NuGet.org** dicerna dan disimpan di CodeArtifact repositori Anda. Untuk informasi selengkapnya tentang penambahan sambungan eksternal, lihat [Connect CodeArtifact repositori ke repositori publik](external-connection.md).

## Publikasikan NuGet paket ke CodeArtifact
<a name="nuget-publish-cli"></a>

Setelah Anda [mengonfigurasi NuGet CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), Anda dapat menggunakan `nuget` atau `dotnet` mempublikasikan versi paket ke CodeArtifact repositori.

Untuk mendorong versi paket ke CodeArtifact repositori, jalankan perintah berikut dengan path lengkap ke `.nupkg` file Anda dan nama sumber untuk CodeArtifact repositori Anda di file konfigurasi Anda. NuGet Jika Anda menggunakan `login` perintah untuk mengonfigurasi NuGet konfigurasi Anda, nama sumbernya adalah`domain_name/repo_name`.

**catatan**  
Anda dapat membuat NuGet paket jika Anda tidak memilikinya untuk dipublikasikan. Untuk informasi selengkapnya, lihat [Alur kerja pembuatan paket](https://docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflow) di *dokumentasi Microsoft*.

------
#### [ dotnet ]

```
dotnet nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg --source packageSourceName
```

------
#### [ nuget ]

```
nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg -Source packageSourceName
```

------

## CodeArtifact NuGet Referensi Penyedia Kredensi
<a name="nuget-cred-provider-reference"></a>

 CodeArtifact NuGet Credential Provider memudahkan untuk mengkonfigurasi dan mengautentikasi NuGet dengan repositori Anda CodeArtifact .

### CodeArtifact NuGet Perintah Penyedia Kredensi
<a name="nuget-cred-provider-reference-commands"></a>

Bagian ini mencakup daftar perintah untuk Penyedia CodeArtifact NuGet Kredenal. Perintah ini harus diawali dengan `dotnet codeartifact-creds` seperti contoh berikut.

```
dotnet codeartifact-creds command
```
+ `configure set profile profile`: Mengkonfigurasi penyedia kredensi untuk menggunakan profil yang disediakan AWS .
+ `configure unset profile`: Menghapus profil yang dikonfigurasi jika diatur.
+ `install`: Menyalin penyedia kredensial ke folder `plugins`.
+ `install --profile profile`: Menyalin penyedia kredensi ke `plugins` folder dan mengonfigurasinya untuk menggunakan profil yang disediakan AWS .
+ `uninstall`: Meng-uninstall penyedia kredensial. Ini tidak menghapus perubahan ke file konfigurasi.
+ `uninstall --delete-configuration`: Meng-uninstall penyedia kredensial dan menghapus semua perubahan ke file konfigurasi.

### CodeArtifact NuGet Log Penyedia Kredensi
<a name="nuget-cred-provider-reference-logs"></a>

Untuk mengaktifkan pencatatan untuk Penyedia CodeArtifact NuGet Kredenal, Anda harus mengatur file log di lingkungan Anda. Log penyedia kredensial berisi informasi debugging yang bermanfaat seperti:
+  AWS Profil yang digunakan untuk membuat koneksi
+ Kesalahan autentikasi apa pun
+ Jika titik akhir yang diberikan bukan URL CodeArtifact 

**Mengatur berkas log Penyedia CodeArtifact NuGet Kredenal**

```
export AWS_CODEARTIFACT_NUGET_LOGFILE=/path/to/file
```

Setelah file log diatur, setiap perintah `codeartifact-creds` akan menambahkan output log untuk isi file tersebut.

## CodeArtifact NuGet Versi Penyedia Kredensi
<a name="nuget-cred-provider-history"></a>

Tabel berikut berisi informasi riwayat versi dan tautan unduhan untuk Penyedia CodeArtifact NuGet Kredenal.


| Versi | Perubahan | Tanggal diterbitkan | Tautan unduhan (S3) | 
| --- | --- | --- | --- | 
|  1.0.2 (terbaru)  |  Dependensi yang ditingkatkan  |  06/26/2024  |  [Unduh v1.0.2](https://d12ov9682v6hj.cloudfront.net/codeartifact-nuget-credentialprovider-v1.0.2.zip)  | 
|  1.0.1  |  Menambahkan dukungan untuk profil net5, net6, dan SSO  |  03/05/2022  |  [Unduh v1.0.1](https://a.co/cAIkhV1)  | 
|  1.0.0  |  Rilis Penyedia CodeArtifact NuGet Kredenal Awal  |  11/20/2020  |  [Unduh v1.0.0](https://a.co/8b2cENb)  | 