Connect CodeArtifact repositori ke repositori publik - CodeArtifact

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

Connect CodeArtifact repositori ke repositori publik

Anda dapat menambahkan koneksi eksternal antara repositori dan CodeArtifact repositori publik eksternal seperti https://npmjs.com atau repositori Maven Central. Kemudian, ketika Anda meminta paket dari CodeArtifact repositori yang belum ada di repositori, paket dapat diambil dari koneksi eksternal. Hal ini memungkinkan untuk menggunakan dependensi sumber terbuka yang digunakan oleh aplikasi Anda.

Dalam CodeArtifact, cara yang dimaksudkan untuk menggunakan koneksi eksternal adalah memiliki satu repositori per domain dengan koneksi eksternal ke repositori publik tertentu. Misalnya, jika Anda ingin terhubung ke npmjs.com, konfigurasikan satu repositori di domain Anda dengan koneksi eksternal ke npmjs.com dan konfigurasikan semua repositori lain dengan upstream ke sana. Dengan cara ini, semua repositori dapat menggunakan paket yang telah diambil dari npmjs.com, daripada mengambil dan menyimpannya lagi.

Connect ke repositori eksternal (konsol)

Saat Anda menggunakan konsol untuk menambahkan koneksi ke repositori eksternal, hal berikut akan terjadi:

  1. -storeRepositori untuk repositori eksternal akan dibuat di CodeArtifact domain Anda jika belum ada. -storeRepositori ini berperilaku sebagai repositori perantara antara repositori Anda dan repositori eksternal dan memungkinkan Anda untuk terhubung ke lebih dari satu repositori eksternal.

  2. -storeRepositori yang sesuai ditambahkan sebagai upstream ke repositori Anda.

Daftar berikut berisi setiap -store repositori di CodeArtifact dan repositori eksternal masing-masing yang mereka sambungkan.

  1. cargo-storeterhubung ke crates.io.

  2. clojars-storeterhubung ke Clojars Repository.

  3. commonsware-storeterhubung ke CommonsWare Android Repository.

  4. google-android-storeterhubung ke Google Android.

  5. gradle-plugins-storeterhubung ke plugin Gradle.

  6. maven-central-storeterhubung ke Maven Central Repository.

  7. npm-storeterhubung ke npmjs.com.

  8. nuget-storeterhubung ke nuget.org.

  9. pypi-storeterhubung ke Otoritas Pengemasan Python.

  10. rubygems-storeterhubung ke RubyGems .org.

Untuk terhubung ke repositori eksternal (konsol)
  1. Buka AWS CodeArtifact konsol di https://console.aws.amazon.com/codesuite/codeartifact/home.

  2. Di panel navigasi, pilih Domain, lalu pilih nama domain yang berisi repositori Anda.

  3. Pilih nama repositori Anda.

  4. Pilih Edit.

  5. Di repositori Upstream, pilih Associate upstream repository dan tambahkan repositori yang sesuai -store yang terhubung sebagai upstream.

  6. Pilih Update repository (Perbarui repositori).

Setelah -store repositori ditambahkan sebagai repositori upstream, manajer paket yang terhubung ke repositori Anda dapat mengambil paket dari CodeArtifact repositori eksternal masing-masing.

Connect ke repositori eksternal (CLI)

Anda dapat menggunakan AWS CLI untuk menghubungkan repositori Anda ke CodeArtifact repositori eksternal dengan menambahkan koneksi eksternal langsung ke repositori. Ini akan memungkinkan pengguna yang terhubung ke CodeArtifact repositori, atau repositori hilirnya, untuk mengambil paket dari repositori eksternal yang dikonfigurasi. Setiap CodeArtifact repositori hanya dapat memiliki satu koneksi eksternal.

Disarankan untuk memiliki satu repositori per domain dengan koneksi eksternal ke repositori publik tertentu. Untuk menghubungkan repositori lain ke repositori publik, tambahkan repositori dengan koneksi eksternal sebagai hulu ke repositori tersebut. Jika Anda atau orang lain di domain Anda telah mengonfigurasi koneksi eksternal di konsol, domain Anda kemungkinan sudah memiliki -store repositori dengan koneksi eksternal ke repositori publik yang ingin Anda sambungkan. Untuk informasi selengkapnya tentang -store repositori dan menghubungkan dengan konsol, lihat. Connect ke repositori eksternal (konsol)

Untuk menambahkan koneksi eksternal ke CodeArtifact repositori (CLI)
  • Gunakan associate-external-connection untuk menambahkan koneksi eksternal. Contoh berikut menghubungkan repositori ke registri publik npm, npmjs.com. Untuk daftar repositori eksternal yang didukung, lihat. Repositori koneksi eksternal yang didukung

    aws codeartifact associate-external-connection --external-connection public:npmjs \ --domain my_domain --domain-owner 111122223333 --repository my_repo

    Contoh output:

    { "repository": { "name": my_repo "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my_domain/my_repo", "description": "A description of my_repo", "upstreams": [], "externalConnections": [ { "externalConnectionName": "public:npmjs", "packageFormat": "npm", "status": "AVAILABLE" } ] } }

Setelah menambahkan koneksi eksternal, lihat Meminta paket dari koneksi eksternal informasi tentang meminta paket dari repositori eksternal dengan koneksi eksternal.

Repositori koneksi eksternal yang didukung

CodeArtifact mendukung koneksi eksternal ke repositori publik berikut. Untuk menggunakan CodeArtifact CLI untuk menentukan koneksi eksternal, gunakan nilai di kolom Nama untuk --external-connection parameter saat Anda menjalankan perintah. associate-external-connection

Jenis repositori Deskripsi Nama
Maven Repositori Clojars public:maven-clojars
Maven CommonsWare Repositori Android public:maven-commonsware
Maven Repositori Google Android public:maven-googleandroid
Maven Repositori plugin Gradle public:maven-gradleplugins
Maven Maven Central public:maven-central
npm registri publik npm public:npmjs
NuGet NuGet Galeri public:nuget-org
Python Indeks Paket Python public:pypi
Ruby RubyGems.org public:ruby-gems-org
Rust Crates.io public:crates-io

Hapus koneksi eksternal (CLI)

Untuk menghapus koneksi eksternal yang ditambahkan dengan menggunakan associate-external-connection perintah di AWS CLI, gunakandisassociate-external-connection.

aws codeartifact disassociate-external-connection --external-connection public:npmjs \ --domain my_domain --domain-owner 111122223333 --repository my_repo

Contoh output:

{ "repository": { "name": my_repo "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my_domain/my_repo", "description": "A description of my_repo", "upstreams": [], "externalConnections": [] } }