Menyimpan paket Node.js di Artifact Registry
Panduan memulai ini menunjukkan cara menyiapkan repositori paket Node.js Artifact Registry pribadi dan mengupload paket ke dalamnya.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Instal PowerShell, jika Anda ingin terhubung ke repositori paket Node.js dari Windows.
Meluncurkan Cloud Shell
Dalam panduan memulai ini, Anda akan menggunakan Cloud Shell, yang merupakan lingkungan shell untuk mengelola resource yang dihosting di Google Cloud.
Cloud Shell telah diinstal dengan Google Cloud CLI. Gcloud CLI menyediakan antarmuka command line utama untuk Google Cloud.
Meluncurkan Cloud Shell:
Buka Konsol Google Cloud.
Di toolbar Konsol Google Cloud, klik Activate Cloud Shell:
Sesi Cloud Shell akan terbuka di dalam frame yang lebih rendah di konsol.
Anda menggunakan shell ini untuk menjalankan perintah gcloud
.
Membuat repositori paket Node.js
Buat repositori untuk artefak Node.js Anda.
Buat repositori.
Konsol
Buka halaman Repositories di konsol Google Cloud.
Klik Create Repository.
Tentukan
quickstart-nodejs-repo
sebagai nama repositori.Pilih npm sebagai format dan Standar sebagai mode.
Di bawah Jenis Lokasi, pilih Region dan kemudian pilih lokasi
us-central1
.Klik Create.
Repositori ditambahkan ke daftar repositori
gcloud
Jalankan perintah berikut untuk membuat repositori paket Node.js baru bernama
quickstart-nodejs-repo
di lokasius-central1
dengan deskripsi "repositori Node.js".gcloud artifacts repositories create quickstart-nodejs-repo --repository-format=npm \ --location=us-central1 --description="Node.js package repository"
Jalankan perintah berikut untuk memverifikasi bahwa repositori Anda telah dibuat.
gcloud artifacts repositories list
Untuk mengetahui informasi selengkapnya tentang perintah Artifact Registry, jalankan perintah
gcloud artifacts
.Untuk menyederhanakan perintah
gcloud
, tetapkan repositori default kequickstart-nodejs-repo
dan lokasi default keus-central1
. Setelah nilai ditetapkan, Anda tidak perlu menentukannya dalam perintahgcloud
yang memerlukan repositori atau lokasi.Untuk menetapkan repositori, jalankan perintah:
gcloud config set artifacts/repository quickstart-nodejs-repo
Untuk menetapkan lokasi, jalankan perintah:
gcloud config set artifacts/location us-central1
Untuk mengetahui informasi selengkapnya tentang perintah ini, lihat dokumentasi gcloud config set.
Mengonfigurasi npm
Untuk mengupload dan mendownload paket, Anda harus mengonfigurasi project npm dengan setelan untuk melakukan autentikasi dengan repositori yang Anda buat. Untuk panduan memulai ini, Anda akan mengupload paket sederhana, lalu menginstalnya dalam paket kedua sebagai dependensi.
Download paket emoji-regex, paket sederhana yang menyediakan ekspresi reguler untuk mencocokkan semua simbol dan urutan emoji.
npm pack emoji-regex
Perintah ini mendownload arsip paket.
Ekstrak arsip ke direktori
emoji-regex
. Perintah berikut adalah untuk arsipemoji-regex
versi 10.1.0:mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
Buat paket npm kedua yang akan Anda gunakan untuk menginstal paket
emoji-regex
dari Artifact Registry. Untuk paket ini, gunakan perintahnpm init
untuk membuat paket dasar.mkdir npm-package2 cd npm-package2 npm init -y
Saat diminta, setujui nilai default.
Konfigurasikan project
emoji-regex
dannpm-package2
untuk mengautentikasi dengan repositori Artifact Registry yang Anda buat.Jalankan perintah berikut. Perintah ini menampilkan setelan konfigurasi untuk ditambahkan ke file konfigurasi npm Anda.
gcloud artifacts print-settings npm --scope=@quickstart
Cakupan
quickstart
dikaitkan dengan repositori Anda. Saat Anda menyertakan cakupan dalam perintah untuk memublikasikan atau menginstal paket, npm akan menggunakan repositori Anda. Saat Anda memublikasikan atau menginstal paket tanpa cakupan, repositori default yang dikonfigurasi akan digunakan. Untuk informasi selengkapnya, lihat ringkasan Node.js.Output perintah
gcloud
terlihat seperti contoh berikut. PROJECT adalah project ID Google Cloud Anda.@quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/ //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=true
Tambahkan setelan konfigurasi dari langkah sebelumnya ke file
.npmrc
project di setiap project npm. File dalam direktori yang sama dengan filepackage.json
.Untuk mempelajari file
.npmrc
lebih lanjut, lihat ringkasan Node.js.Setiap repositori paket Node.js Artifact Registry dikaitkan dengan endpoint registry npm
https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY
. Jika Anda membuat repositori paket Node.js Artifact Registry lain, npm akan berinteraksi dengannya sebagai registry terpisah dengan cakupannya sendiri.
Edit
package.json
di projectemoji-regex
dannpm-package2
.Pastikan nilai untuk
name
menyertakan cakupanquickstart
.- Untuk
emoji-regex
:
"name": "@quickstart/emoji-regex"
- Untuk
npm-package2
:
"name": "@quickstart/npm-package2"
- Untuk
Di bagian
scripts
, tambahkan skrip untuk google-artifactregistry-auth, library klien yang memperbarui kredensial untuk repositori Artifact Registry."scripts": { "artifactregistry-login": "npx google-artifactregistry-auth" }
Mengupload paket ke repositori
Muat ulang token akses untuk terhubung ke repositori.
npm run artifactregistry-login
Tambahkan paket Anda ke repositori. Anda dapat menggunakan perintah
npm
atauyarn
.npm publish
yarn publish
Melihat paket di repositori
Untuk memverifikasi bahwa paket Anda telah ditambahkan ke repositori:
Konsol
Buka halaman Repositories di konsol Google Cloud.
Di daftar repositori, klik repositori
quickstart-nodejs-repo
.Halaman Paket mencantumkan paket di repositori.
Klik paket untuk melihat versi paket.
gcloud
Untuk menampilkan daftar image di repositori quickstart-nodejs-repo
default, jalankan perintah berikut:
gcloud artifacts packages list
Untuk melihat versi paket, jalankan perintah berikut:
gcloud artifacts versions list --package=PACKAGE
Dengan PACKAGE adalah ID paket.
Menginstal paket
Instal paket emoji-regex
dari repositori Artifact Registry Anda
di npm-package2
.
Di direktori npm-package2
, jalankan perintah npm install
atau yarn add
:
npm install @quickstart/emoji-regex
yarn add @quickstart/emoji-regex
Perintah ini menginstal paket emoji-regex
di project npm-package2
.
Tindakan ini juga memperbarui package.json
untuk menetapkan emoji-regex
sebagai dependensi.
"dependencies": {
"@quickstart/emoji-regex": "^10.1.0"
}
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
Sebelum menghapus repositori, pastikan paket yang ingin Anda simpan tersedia di lokasi lain.
Untuk menghapus repositori:
Konsol
Buka halaman Repositories di konsol Google Cloud.
Dalam daftar repositori, pilih repositori
quickstart-nodejs-repo
.Klik Hapus.
gcloud
Untuk menghapus repositori
quickstart-nodejs-repo
, jalankan perintah berikut:gcloud artifacts repositories delete quickstart-nodejs-repo
Jika Anda ingin menghapus setelan repositori dan lokasi default yang dikonfigurasi untuk konfigurasi
gcloud
aktif, jalankan perintah berikut:gcloud config unset artifacts/repository gcloud config unset artifacts/location
Langkah selanjutnya
- Pelajari lebih lanjut cara mengonfigurasi autentikasi
- Pelajari cara mengelola repositori
- Pelajari cara mengelola paket
- Baca sumber daya kami tentang DevOps dan jelajahi program penelitian kami.