Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan Swift Package Manager dengan CodeArtifact
Untuk menggunakan Swift Package Manager untuk memublikasikan paket ke atau menggunakan paket dari AWS CodeArtifact, Anda harus terlebih dahulu menyiapkan kredensil untuk mengakses repositori Anda. CodeArtifact Metode yang disarankan untuk mengonfigurasi CLI Swift Package Manager dengan CodeArtifact kredensi dan titik akhir repositori Anda adalah dengan menggunakan perintah. aws codeartifact login Anda juga dapat mengkonfigurasi Swift Package Manager secara manual.
Konfigurasikan Swift dengan perintah login
Gunakan aws codeartifact login perintah untuk mengkonfigurasi Swift Package Manager dengan CodeArtifact.
catatan
Untuk menggunakan perintah login, Swift 5.8 atau yang lebih baru diperlukan dan Swift 5.9 atau yang lebih baru direkomendasikan.
aws codeartifact loginPerintah akan melakukan hal berikut:
-
Ambil token otentikasi dari CodeArtifact dan simpan di lingkungan Anda. Bagaimana kredensil disimpan tergantung pada sistem operasi lingkungan:
macOS: Entri dibuat di aplikasi macOS Keychain.
Linux dan Windows: Entri dibuat dalam
~/.netrcfile.
Di semua sistem operasi, jika ada entri kredensil, perintah ini menggantikan entri itu dengan token baru.
Ambil URL endpoint CodeArtifact repositori Anda dan tambahkan ke file konfigurasi Swift Anda. Perintah menambahkan URL titik akhir repositori ke file konfigurasi tingkat proyek yang terletak di.
/path/to/project/.swiftpm/configuration/registries.json
catatan
aws codeartifact loginPerintah memanggil swift package-registry perintah yang harus dijalankan dari direktori yang berisi Package.swift file. Karena itu, aws codeartifact login perintah harus dijalankan dari dalam proyek Swift.
Untuk mengkonfigurasi Swift dengan perintah login
Arahkan ke direktori proyek Swift yang berisi
Package.swiftfile proyek Anda.Jalankan perintah
aws codeartifact loginberikut.Jika Anda mengakses repositori di domain milik Anda, Anda tidak perlu menyertakan
--domain-owner. Untuk informasi selengkapnya, lihat Domain lintas akun.aws codeartifact login --toolswift--domainmy_domain\ --domain-owner111122223333--repositorymy_repo\ [--namespacemy_namespace]
--namespaceOpsi mengonfigurasi aplikasi untuk hanya menggunakan paket dari CodeArtifact repositori Anda jika mereka berada di namespace yang ditentukan. CodeArtifact namespace identik dengan cakupan, dan digunakan untuk mengatur kode ke dalam grup logis dan untuk mencegah tabrakan nama yang dapat terjadi ketika basis kode Anda menyertakan beberapa pustaka.
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.
Konfigurasikan Swift tanpa perintah login
Meskipun disarankan agar Anda mengkonfigurasi Swift dengan aws codeartifact login perintah, Anda juga dapat mengkonfigurasi Swift Package Manager tanpa perintah login dengan memperbarui konfigurasi Swift Package Manager secara manual.
Dalam prosedur berikut, Anda akan menggunakan AWS CLI untuk melakukan hal berikut:
Ambil token otentikasi dari CodeArtifact dan simpan di lingkungan Anda. Bagaimana kredensil disimpan tergantung pada sistem operasi lingkungan:
macOS: Entri dibuat di aplikasi macOS Keychain.
Linux dan Windows: Entri dibuat dalam
~/.netrcfile.
Ambil URL titik akhir CodeArtifact repositori Anda.
Dalam file
~/.swiftpm/configuration/registries.jsonkonfigurasi, tambahkan entri dengan URL titik akhir repositori dan jenis otentikasi Anda.
Untuk mengkonfigurasi Swift tanpa perintah login
Dalam baris perintah, gunakan perintah berikut untuk mengambil token CodeArtifact otorisasi dan menyimpannya dalam variabel lingkungan.
Ganti
my_domaindengan nama CodeArtifact domain Anda.Ganti
111122223333dengan ID AWS akun pemilik domain. Jika Anda mengakses repositori di domain milik Anda, Anda tidak perlu menyertakan--domain-owner. Untuk informasi selengkapnya, lihat Domain lintas akun.
Dapatkan endpoint CodeArtifact repositori Anda dengan menjalankan perintah berikut. Endpoint repositori Anda digunakan untuk mengarahkan Swift Package Manager ke repositori Anda untuk mengkonsumsi atau menerbitkan paket.
Ganti
my_domaindengan nama CodeArtifact domain Anda.Ganti
111122223333dengan ID AWS akun pemilik domain. Jika Anda mengakses repositori di domain milik Anda, Anda tidak perlu menyertakan--domain-owner. Untuk informasi selengkapnya, lihat Domain lintas akun.Ganti
my_repodengan nama CodeArtifact repositori Anda.
URL berikut adalah contoh titik akhir repositori.
https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/swift/my_repo/catatan
Untuk menggunakan endpoint dualstack, gunakan endpoint.
codeartifact.region.on.awspenting
Anda harus menambahkan
loginke akhir endpoint URL repositori saat digunakan untuk mengkonfigurasi Swift Package Manager. Ini dilakukan untuk Anda dalam perintah prosedur ini.Dengan dua nilai ini disimpan dalam variabel lingkungan, teruskan ke Swift menggunakan
swift package-registry loginperintah sebagai berikut:Selanjutnya, perbarui registri paket yang digunakan oleh aplikasi Anda sehingga ketergantungan apa pun akan ditarik dari CodeArtifact repositori Anda. Perintah ini harus dijalankan di direktori proyek tempat Anda mencoba menyelesaikan ketergantungan paket:
--scopeOpsi mengonfigurasi aplikasi untuk hanya menggunakan paket dari CodeArtifact repositori Anda jika mereka berada dalam lingkup yang ditentukan. Cakupan identik dengan CodeArtifact ruang nama, dan digunakan untuk mengatur kode ke dalam grup logis dan untuk mencegah tabrakan nama yang dapat terjadi ketika basis kode Anda menyertakan beberapa pustaka.-
Anda dapat mengonfirmasi bahwa konfigurasi telah diatur dengan benar dengan melihat isi
.swiftpm/configuration/registries.jsonfile tingkat proyek dengan menjalankan perintah berikut di direktori proyek Anda:$ cat .swiftpm/configuration/registries.json { "authentication" : { }, "registries" : { "[default]" : { "url" : "https://my-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/swift/my-repo/" } }, "version" : 1 }
Sekarang setelah Anda mengkonfigurasi Swift Package Manager dengan CodeArtifact repositori Anda, Anda dapat menggunakannya untuk mempublikasikan dan menggunakan paket Swift ke dan dari itu. Untuk informasi selengkapnya, lihat Mengkonsumsi dan menerbitkan paket Swift.