Konfigurasikan dan gunakan Yarn denganCodeArtifact - CodeArtifact

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

Konfigurasikan dan gunakan Yarn denganCodeArtifact

Setelah Anda membuat repositori, Anda dapat menggunakan klien Yarn untuk mengelola paket npm.

catatan

Yarn 1.Xmembaca dan menggunakan informasi dari file konfigurasi npm Anda (.npmrc), sementaraYarn 2.Xtidak. Konfigurasi untukYarn 2.Xharus didefinisikan dalam file.yarnrc.yml.

Konfigurasikan Yarn 1.X denganaws codeartifact loginkomando

UntukYarn 1.X, Anda dapat mengkonfigurasi Yarn denganCodeArtifactmenggunakanaws codeartifact loginperintah. Yangloginperintah akan mengkonfigurasi file ~/.npmrc Anda denganCodeArtifactinformasi endpoint repositori dan kredensi. DenganYarn 1.X,yarnperintah menggunakan informasi konfigurasi dari file ~/.npmrc.

Untuk mengkonfigurasiYarn 1.Xdengan perintah login
  1. Jika Anda belum melakukannya, konfigurasikanAWSkredensi untuk digunakan denganAWS CLI, seperti yang dijelaskan dalamMemulai dengan CodeArtifact.

  2. Untuk menjalankanaws codeartifact loginperintah berhasil, npm harus diinstal. LihatMengunduh dan menginstal Node.js dan npmdi dalamdokumentasi npmuntuk petunjuk instalasi.

  3. Gunakanaws codeartifact loginperintah untuk mengambilCodeArtifactkredensi dan konfigurasikan file ~/.npmrc Anda.

    • Gantimy_domaindengan AndaCodeArtifactnama domain.

    • Ganti111122223333denganAWSID akun pemilik domain. Jika Anda mengakses repositori di domain milik Anda, Anda tidak perlu menyertakan --domain-owner. Untuk informasi selengkapnya, lihat Domain lintas akun.

    • Gantirepodengan AndaCodeArtifactnama repositori.

    aws codeartifact login --tool npm --domain my_domain --domain-owner 111122223333 --repository my_repo

    Yangloginperintah membuat perubahan berikut ke file ~/.npmrc Anda:

    • Menambahkan token otorisasi setelah mengambilnya dariCodeArtifactmenggunakanAWSmandat.

    • Menetapkan registri npm ke repositori yang ditentukan oleh opsi --repository.

    • Untuk npm 6 dan lebih rendah:Menambahkan"always-auth=true"sehingga token otorisasi dikirim untuk setiap perintah npm.

    Periode otorisasi default setelah meneleponloginadalah 12 jam, danloginharus dipanggil untuk menyegarkan token secara berkala. Untuk informasi selengkapnya tentang token otorisasi yang dibuat dengan perintah login, lihat Token dibuat dengan perintah login.

  4. Untuk npm 7.X dan 8.X, Anda harus menambahkanalways-auth=trueke file ~/.npmrc Anda untuk menggunakan Yarn.

    1. Buka file ~/.npmrc Anda di editor teks dan tambahkanalways-auth=truepada baris baru.

Anda dapat menggunakanyarn config listperintah untuk memeriksa bahwa Yarn menggunakan konfigurasi yang benar. Setelah menjalankan perintah, periksa nilai diinfo npm configbagian. Isi harus terlihat mirip dengan cuplikan berikut.

info npm config { registry: 'https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/', '//my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:_authToken': 'eyJ2ZXI...', 'always-auth': true }

Konfigurasikan Yarn 2.X denganyarn config setkomando

Prosedur berikut merinci cara mengkonfigurasiYarn 2.Xdengan memperbarui.yarnrc.ymlkonfigurasi dari baris perintah denganyarn config setperintah.

Untuk memperbaruiyarnrc.ymlkonfigurasi dari baris perintah
  1. Jika Anda belum melakukannya, konfigurasikanAWSkredensi untuk digunakan denganAWS CLI, seperti yang dijelaskan dalamMemulai dengan CodeArtifact.

  2. Gunakanaws codeartifact get-repository-endpointperintah untuk mendapatkanCodeArtifactendpoint repositori.

    • Gantimy_domaindengan AndaCodeArtifactnama domain.

    • Ganti111122223333denganAWSID akun pemilik domain. Jika Anda mengakses repositori di domain milik Anda, Anda tidak perlu menyertakan --domain-owner. Untuk informasi selengkapnya, lihat Domain lintas akun.

    • Gantirepodengan AndaCodeArtifactnama repositori.

    aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format npm
  3. PerbaruinpmRegistryServernilai dalam file.yarnrc.ymlmu dengan endpoint repositori.

    yarn config set npmRegistryServer "https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"
  4. AmbilCodeArtifacttoken otorisasi dan menyimpannya dalam variabel lingkungan.

    catatan

    Perintah berikut adalah untuk macOS atau Linux mesin. Untuk informasi tentang mengonfigurasi variabel lingkungan pada mesin Windows, lihatTeruskan token auth menggunakan variabel lingkungan.

    • Gantimy_domaindengan AndaCodeArtifactnama domain.

    • Ganti111122223333denganAWSID akun pemilik domain. Jika Anda mengakses repositori di domain milik Anda, Anda tidak perlu menyertakan --domain-owner. Untuk informasi selengkapnya, lihat Domain lintas akun.

    • Gantirepodengan AndaCodeArtifactnama repositori.

    export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
  5. Gunakanyarn config setperintah untuk menambahkanCodeArtifacttoken otentikasi ke file.yarnrc.ymlmu. Ganti URL dalam perintah berikut dengan URL endpoint repositori Anda dari Langkah 2.

    yarn config set 'npmRegistries["https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"].npmAuthToken' "${CODEARTIFACT_AUTH_TOKEN}"
  6. Gunakanyarn config setperintah untuk mengatur nilainpmAlwaysAuthkepadatrue. Ganti URL dalam perintah berikut dengan URL endpoint repositori Anda dari Langkah 2.

    yarn config set 'npmRegistries["https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"].npmAlwaysAuth' "true"

Setelah mengkonfigurasi, file konfigurasi.yarnrc.ymlmu harus memiliki konten yang mirip dengan cuplikan berikut.

npmRegistries: "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/": npmAlwaysAuth: true npmAuthToken: eyJ2ZXI... npmRegistryServer: "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/"

Anda juga dapat menggunakanyarn configperintah untuk memeriksa nilai-nilainpmRegistriesdannpmRegistryServer.