Gunakan CodeArtifact dengan nuget atau dotnet CLI - CodeArtifact

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

Anda dapat menggunakan CLI alat seperti nuget dan dotnet untuk mempublikasikan dan menggunakan paket dari CodeArtifact. Dokumen ini memberikan informasi tentang mengkonfigurasi CLI alat dan menggunakannya untuk mempublikasikan atau mengkonsumsi paket.

Konfigurasikan nuget atau dotnet CLI

Anda dapat mengonfigurasi nuget atau dotnet CLI dengan Penyedia CodeArtifact NuGet Kredenal, dengan, 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

Penyedia CodeArtifact NuGet Kredenal menyederhanakan otentikasi dan konfigurasi dengan alat. CodeArtifact NuGet CLI CodeArtifact token otentikasi berlaku selama maksimal 12 jam. Untuk menghindari keharusan menyegarkan token secara manual saat menggunakan nuget atau dotnetCLI, penyedia kredensi secara berkala mengambil token baru sebelum token saat ini kedaluwarsa.

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 dari AWS. CodeArtifact. NuGet. CredentialProvider alat dari NuGet .org dengan dotnet perintah berikut.

    dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
  2. Gunakan codeartifact-creds install perintah untuk menyalin penyedia kredensi ke folder NuGet plugin.

    dotnet codeartifact-creds install
  3. (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.

    dotnet codeartifact-creds configure set profile profile_name
nuget

Lakukan langkah-langkah berikut untuk menggunakan cara menginstal Penyedia CodeArtifact NuGet Kredenal dari bucket Amazon S3 dan konfigurasikan. NuGet CLI Penyedia kredensi akan menggunakan AWS CLI profil default, untuk informasi selengkapnya tentang profil, lihat Profil bernama.

  1. Unduh versi terbaru CodeArtifact NuGet Credential Provider (codeartifact-nuget-credentialprovider.zip) dari bucket Amazon S3.

    Untuk melihat dan mengunduh versi sebelumnya, lihatCodeArtifact NuGet Versi Penyedia Kredensi.

  2. Buka filenya.

  3. Salin AWS. CodeArtifact. NuGetCredentialProviderfolder dari folder netfx ke %user_profile%/.nuget/plugins/netfx/ di Windows atau ~/.nuget/plugins/netfx di Linux atau macOS.

  4. Salin AWS. CodeArtifact. NuGetCredentialProviderfolder dari folder netcore ke %user_profile%/.nuget/plugins/netcore/ di Windows atau ~/.nuget/plugins/netcore di Linux atau macOS.

Setelah Anda membuat repositori dan mengkonfigurasi penyedia kredensi Anda dapat menggunakan nuget atau dotnet CLI alat untuk menginstal dan menerbitkan paket. Untuk informasi selengkapnya, silakan lihat Konsumsi NuGet paket dari CodeArtifact dan Publikasikan NuGet paket ke CodeArtifact.

Metode 2: Mengonfigurasi nuget atau dotnet dengan perintah masuk

codeartifact loginPerintah 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.

Mengonfigurasi nuget atau dotnet dengan perintah login
  1. Konfigurasikan AWS kredensional Anda untuk digunakan dengan AWS CLI, seperti yang dijelaskan dalam. Memulai dengan CodeArtifact

  2. Pastikan NuGet CLI alat (nugetataudotnet) telah diinstal dan dikonfigurasi dengan benar. Untuk instruksi, lihat dokumentasi nugetatau dotnet.

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

    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.

Setelah Anda membuat repositori dan mengkonfigurasi otentikasi Anda dapat menggunakannuget,dotnet, atau msbuild CLI klien untuk menginstal dan menerbitkan paket. Untuk informasi selengkapnya, silakan lihat Konsumsi NuGet paket dari CodeArtifact dan Publikasikan NuGet paket ke CodeArtifact.

Metode 3: Mengonfigurasi nuget atau dotnet tanpa perintah masuk

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/" }
  2. 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 }
  3. Buat titik akhir repositori lengkap URL dengan menambahkan /v3/index.json ke yang URL dikembalikan oleh get-repository-endpoint pada langkah 3.

  4. Konfigurasi nuget atau dotnet untuk menggunakan titik akhir repositori dari Langkah 1 dan token otorisasi dari Langkah 2.

    catatan

    Sumber URL 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

Setelah Anda mengonfigurasi NuGet CodeArtifact, 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 upstream dengan nuget ataudotnet, jalankan perintah berikut menggantikan packageName dengan nama paket yang ingin Anda konsumsi dan packageSourceName dengan nama sumber untuk CodeArtifact repositori Anda di file NuGet konfigurasi Anda. Jika Anda menggunakan login perintah untuk mengonfigurasi NuGet konfigurasi Anda, nama sumbernya adalah domain_name/repo_name.

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 ataudotnet nuget locals all --clear, atau menghindari menggunakan cache selama install dan restore perintah dengan memberikan -NoCache opsi untuk nuget atau --no-cache opsi untukdotnet.

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 Mengelola paket menggunakan nuget.exe CLI atau Menginstal dan mengelola paket menggunakan dotnet CLI di Dokumentasi Microsoft untuk informasi selengkapnya.

Anda dapat menggunakan NuGet paket dari 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.

Publikasikan NuGet paket ke CodeArtifact

Setelah Anda mengonfigurasi NuGet CodeArtifact, 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 adalahdomain_name/repo_name.

catatan

Anda dapat membuat NuGet paket jika Anda tidak memilikinya untuk dipublikasikan. Untuk informasi selengkapnya, lihat Alur kerja pembuatan paket 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

Penyedia CodeArtifact NuGet Kredenal memudahkan untuk mengkonfigurasi dan mengautentikasi NuGet dengan repositori Anda CodeArtifact .

CodeArtifact NuGet Perintah Penyedia Kredensi

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

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 CodeArtifact URL

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

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

1.0.1

Menambahkan dukungan untuk net5, net6, dan profil SSO

03/05/2022

Unduh v1.0.1

1.0.0

Rilis Penyedia CodeArtifact NuGet Kredenal Awal

11/20/2020

Unduh v1.0.0