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.
Mempersiapkan VM untuk mengakses repositori Apt
Repositori pribadi
Pilih akun layanan yang akan digunakan untuk memberikan akses.
- Untuk VM Compute Engine, ini mungkin berupa akun layanan default. Artifact Registry secara otomatis mengambil kredensial akun layanan VM Compute Engine untuk VM apa pun menggunakan akun layanan.
- Untuk VM lainnya, 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
cloud-platform
cakupan akses 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
cloud-platform
cakupan akses 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
Pesan Suara 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";
di file/etc/apt/apt.conf.d/90artifact-registry
, lalu hapus tanda komentar pada 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
Konfigurasikan akses publik ke repositori.
Jika Anda mengonfigurasi VM di luar Google Cloud, siapkan mesin 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
{i>Apt<i} sekarang dapat terhubung ke repositori.
Jika membuat repositori Apt tambahan, Anda dapat menambahkannya ke
file artifact-registry.list
, lalu menjalankan kembali sudo apt update
untuk memperbarui
sumber repositori.
Mengonfigurasi VM untuk mengakses repositori Apt jarak jauh
Untuk mengonfigurasi VM agar hanya menggunakan repositori Apt jarak jauh, bukan repositori Apt upstream
standar, ganti repositori standar dengan repositori
jarak jauh Anda di file /etc/apt/sources.list
VM.
Berikan izin tulis Artifact Registry di 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 VM instances.
Di baris dengan VM Anda, klik SSH.
Jendela baru akan terbuka dengan sesi terminal di VM.
Buka file
/etc/apt/sources.list
VM dan cari 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 dari repositori jarak jauh.PROJECT_ID
dengan project ID VM.REMOTE_REPOSITORY_NAME
dengan nama yang Anda berikan pada repositori jarak jauh.UPSTREAM_REPOSITORY_NAME
dengan nama repositori upstream untuk remote Anda.COMPONENTS
dengan daftar nama komponen yang dipisahkan spasi kosong.
Misalnya, perintah berikut akan 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
{i>Apt<i} sekarang dapat terhubung ke repositori.
Menggunakan repositori Apt jarak jauh sebagai cadangan
Jika Anda ingin mempertahankan upstream standar sebagai opsi pertama dan menambahkan
repositori jarak jauh sebagai opsi penggantian, Anda dapat mempertahankan upstream standar dalam
file sources.list
, lalu 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 dari 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.
Jika membuat repositori Apt tambahan, Anda dapat menambahkannya ke
file artifact-registry.list
atau sources.list
, lalu menjalankan kembali sudo apt update
untuk mengupdate 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 tersebut.
Konfigurasikan akses publik ke repositori.
Untuk mengonfigurasi Apt agar dapat mengambil paket dari repositori Anda menggunakan HTTP, jalankan perintah berikut:
echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID REPOSITORY main' >> /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
dalam 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' >> /etc/apt/sources.list.d/artifact-registry.list
Perbarui sumber repositori Anda dengan perintah berikut:
sudo apt update
{i>Apt<i} sekarang dapat terhubung ke repositori.
Jika membuat repositori Apt tambahan, Anda dapat menambahkannya ke
file artifact-registry.list
, lalu menjalankan kembali sudo apt update
untuk memperbarui
sumber repositori.