Halaman ini menjelaskan cara mengonfigurasi VM untuk menginstal paket Debian dari repositori Apt Artifact Registry.
Sebelum memulai
Jika repositori Apt target tidak ada, buat repositori standar atau jarak jauh baru. Anda dapat membuat repositori pribadi, atau repositori publik yang tidak memerlukan autentikasi.
Menyiapkan VM untuk mengakses repositori Apt
Repositori pribadi
Pilih akun layanan yang akan Anda gunakan untuk memberikan akses.
- Untuk VM Compute Engine, ini mungkin adalah akun layanan default. Artifact Registry otomatis mengambil kredensial akun layanan VM Compute Engine untuk VM apa pun yang menggunakan akun layanan.
- Untuk VM lain, buat atau pilih akun layanan untuk bertindak atas nama VM Anda. Anda memerlukan lokasi file kunci akun layanan untuk mengonfigurasi VM. Anda dapat melihat dan membuat kunci untuk akun yang ada di halaman Service Accounts.
Berikan izin akses repositori ke akun layanan Anda.
Siapkan VM untuk mengakses repositori.
VM Compute Engine
VM Debian
Tetapkan cakupan akses
cloud-platform
API ke VM. Untuk mengetahui informasi tentang cara menetapkan cakupan akses, lihat Mengubah akun layanan dan cakupan akses untuk instance.Update Apt menggunakan perintah berikut:
sudo apt update
Instal paket
apt-transport-artifact-registry
di VM:sudo apt install apt-transport-artifact-registry
VM Ubuntu
Instal kunci penandatanganan repositori Apt, menggunakan perintah berikut:
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Ganti
LOCATION
dengan lokasi repositori.Tetapkan cakupan akses
cloud-platform
API ke VM. Untuk mengetahui informasi tentang cara menetapkan cakupan akses, lihat Mengubah akun layanan dan cakupan akses untuk instance.Konfigurasikan VM Anda untuk mengakses paket Artifact Registry menggunakan perintah berikut:
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Update Apt menggunakan perintah berikut:
sudo apt update
Instal paket
apt-transport-artifact-registry
di VM:sudo apt install apt-transport-artifact-registry
VM lainnya
Instal kunci penandatanganan repositori Apt, menggunakan perintah berikut:
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Ganti
LOCATION
dengan lokasi repositori.Konfigurasikan VM Anda untuk mengakses paket Artifact Registry menggunakan perintah berikut:
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Update Apt menggunakan perintah berikut:
sudo apt update
Instal paket
apt-transport-artifact-registry
di VM:sudo apt install apt-transport-artifact-registry
Temukan baris
#Service-Account-JSON "/path/to/creds.json";
dalam file/etc/apt/apt.conf.d/90artifact-registry
, lalu hapus komentar baris dan tambahkan jalur kunci akun layanan Anda.Entri file konfigurasi:
Service-Account-JSON "PATH_TO_SERVICE_ACCOUNT_KEY";
Ganti
PATH_TO_SERVICE_ACCOUNT_KEY
dengan jalur ke file JSON kunci akun layanan Anda.
Repositori publik
Konfigurasi akses publik ke repositori.
Jika Anda mengonfigurasi VM di luar Google Cloud, siapkan komputer untuk mengakses repositori. Jika Anda mengonfigurasi VM Compute Engine, lanjutkan ke langkah berikutnya.
Instal kunci verifikasi tanda tangan publik, menggunakan perintah berikut:
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
Ganti
LOCATION
dengan lokasi repositori.Update Apt menggunakan perintah berikut:
sudo apt update
Mengonfigurasi VM untuk mengakses repositori Apt standar
Konfigurasikan VM untuk mengakses repositori Apt:
Buat perintah konfigurasi VM dengan menjalankan perintah
gcloud beta artifacts print-settings apt
:gcloud beta artifacts print-settings apt \ --repository=REPOSITORY \ --location=LOCATION
Ganti kode berikut:
- LOCATION adalah lokasi regional atau multi-regional.
- REPOSITORY adalah nama repositori Artifact Registry.
Outputnya mirip dengan hal berikut ini:
# To configure your package manager with this repository: # Update Apt: sudo apt update # Install the Apt credential helper: sudo apt install apt-transport-artifact-registry # Configure your VM to access Artifact Registry packages using the following # command: echo "deb ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list # Update Apt: sudo apt update
Konfigurasikan Apt untuk mengambil paket dari repositori Anda menggunakan perintah
echo
dari output perintahprint-settings
.Misalnya, untuk menginstal paket dari repositori publik
my-repo
di projectmy-project
dan di lokasius-central1
, gunakan perintah berikut:echo 'deb ar+https://us-central1-apt.pkg.dev/projects/my-project my-repo main'
Perbarui sumber repositori Anda dengan perintah berikut:
sudo apt update
Apt kini dapat terhubung ke repositori.
Jika membuat repositori Apt tambahan, Anda dapat menambahkannya ke
file artifact-registry.list
, lalu menjalankan kembali sudo apt update
untuk mengupdate
sumber repositori.
Mengonfigurasi VM untuk mengakses repositori Apt jarak jauh
Untuk mengonfigurasi VM agar hanya menggunakan repositori Apt jarak jauh, bukan repositori
upstream Apt standar, ganti repositori standar dengan repositori jarak jauh
Anda di file /etc/apt/sources.list
VM.
Berikan izin tulis Artifact Registry seluruh project ke akun layanan Compute Engine default:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/artifactregistry.writer
Buka halaman instance VM.
Di baris dengan VM Anda, klik SSH.
Jendela baru akan terbuka dengan sesi terminal di VM.
Buka file
/etc/apt/sources.list
VM dan temukan repositori standar yang ingin Anda ganti dengan repositori jarak jauh baru.Hapus baris repositori standar, lalu ganti dengan baris berikut:
deb ar+https://LOCATION-apt.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME UPSTREAM_REPOSITORY_NAME COMPONENTS
Ganti kode berikut:
LOCATION
dengan lokasi regional atau multi-regional repositori jarak jauh.PROJECT_ID
dengan project ID VM.REMOTE_REPOSITORY_NAME
dengan nama yang Anda berikan ke repositori jarak jauh.UPSTREAM_REPOSITORY_NAME
dengan nama repositori upstream untuk remote Anda.COMPONENTS
dengan daftar nama komponen yang dipisahkan spasi kosong.
Misalnya, kode berikut mengonfigurasi VM untuk mengambil paket dari repositori
my-repo
dalam projectmy-project
di lokasius-east1
menggunakanbuster
sebagai repositori upstream untuk komponenmain
,contrib
, dannon-free
.deb ar+https://us-east1-apt.pkg.dev/remote/my-project/my-repo buster main contrib non-free
Perbarui sumber repositori Anda dengan perintah berikut:
sudo apt update
Apt kini dapat terhubung ke repositori.
Menggunakan repositori Apt jarak jauh sebagai cadangan
Jika ingin mempertahankan upstream standar sebagai opsi pertama dan menambahkan repositori jarak jauh sebagai opsi pengganti, Anda dapat mempertahankan upstream standar dalam file sources.list
, dan menambahkan repositori jarak jauh ke akhir file sources.list
, atau membuat daftar baru di folder sources.list.d
.
Untuk membuat file artifact-registry.list
baru di folder sources.list.d
, jalankan perintah berikut:
echo 'deb ar+https://LOCATION-apt.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME UPSTREAM_REPOSITORY_NAME COMPONENTS' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Ganti kode berikut:
LOCATION
dengan lokasi regional atau multi-regional repositori jarak jauh.PROJECT_ID
dengan project ID VM.REMOTE_REPOSITORY_NAME
dengan nama yang Anda berikan untuk repositori jarak jauh.UPSTREAM_REPOSITORY_NAME
dengan nama repositori upstream untuk remote Anda.COMPONENTS
dengan daftar nama komponen yang dipisahkan spasi kosong.
Jika membuat repositori Apt tambahan, Anda dapat menambahkannya ke
file artifact-registry.list
atau sources.list
, lalu menjalankan kembali sudo apt update
untuk memperbarui sumber repositori.
Mengonfigurasi akses HTTP ke repositori Apt
Jika menggunakan alat klien lama yang tidak mendukung enkripsi SSL, Anda dapat mengonfigurasi akses publik ke repositori Apt dan mengaksesnya melalui HTTP. Permintaan yang dikirim ke repositori yang dapat dibaca publik menggunakan HTTP akan ditolak jika token autentikasi ditampilkan dengan permintaan.
Konfigurasi akses publik ke repositori.
Untuk mengonfigurasi Apt agar mengambil paket dari repositori Anda menggunakan HTTP, jalankan perintah berikut:
echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID \ REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Ganti kode berikut:
- LOCATION dengan lokasi repositori.
- PROJECT_ID dengan project ID repositori.
- REPOSITORY dengan nama repositori.
Misalnya, untuk menginstal paket dari repositori publik
my-repo
di projectmy-project
dan di lokasius-central1
menggunakan HTTP, gunakan perintah berikut:echo 'deb http://us-central1-apt.pkg.dev/projects/my-project my-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Perbarui sumber repositori Anda dengan perintah berikut:
sudo apt update
Apt kini dapat terhubung ke repositori.
Jika membuat repositori Apt tambahan, Anda dapat menambahkannya ke
file artifact-registry.list
, lalu menjalankan kembali sudo apt update
untuk mengupdate
sumber repositori.