Petunjuk dan persyaratan penyiapan lab
Lindungi akun dan progres Anda. Selalu gunakan jendela browser pribadi dan kredensial lab untuk menjalankan lab ini.

Mengamankan Build Container

Lab 10 menit universal_currency_alt 5 Kredit show_chart Menengah
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.

GSP1185

Lab Mandiri Google Cloud

Ringkasan

Artifact Registry memungkinkan Anda menyimpan berbagai jenis artefak, membuat beberapa repositori dalam satu project, dan mengaitkan region tertentu atau multi-region dengan setiap repositori. Ada beberapa jenis mode repositori. Setiap mode memiliki tujuan yang berbeda. Diagram berikut menunjukkan salah satu dari banyak cara menggunakan repositori dalam berbagai mode secara bersamaan. Diagram ini menunjukkan alur kerja di dua project Google Cloud. Dalam project pengembangan, developer membangun aplikasi Java. Dalam project runtime terpisah, build lain membuat image container dengan aplikasi untuk deployment ke Google Kubernetes Engine.

diagram mode

Di lab ini, Anda akan mempelajari cara melakukan tugas berikut.

  • Menggunakan Repositori Standar untuk men-deploy paket pribadi Anda
  • Menggunakan Repositori Jarak Jauh untuk meng-cache paket Maven Central
  • Menggunakan Repositori Virtual untuk menggabungkan beberapa repositori upstream dalam satu konfigurasi

Penyiapan dan Persyaratan

Sebelum mengklik tombol Start Lab

Baca petunjuk ini. Lab memiliki timer yang tidak dapat dijeda. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab praktis ini dapat Anda gunakan untuk mengerjakan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran atau browser rahasia untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa, yang mungkin menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Jika Anda sudah memiliki project atau akun pribadi Google Cloud, jangan menggunakannya untuk lab ini agar terhindar dari tagihan ekstra pada akun Anda.

Cara memulai lab dan login ke Konsol Google Cloud

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Panel Lab Details di sebelah kiri berisi:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).

    Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Penggunaan akun Google Cloud sendiri untuk lab ini mungkin dikenai biaya tambahan.
  7. Klik untuk melanjutkan ke halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan daftar uji coba gratis.

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk melihat menu dengan daftar produk dan layanan Google Cloud, klik Navigation menu di kiri atas. Ikon Navigation menu

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas konsol Google Cloud.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Penyiapan Workspace

  1. Di Cloud Shell, tetapkan project ID dan nomor project Anda. Simpan keduanya sebagai variabel PROJECT_ID dan PROJECT_NUMBER:
export PROJECT_ID=$(gcloud config get-value project) export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
  1. Aktifkan Artifact Registry API:
gcloud services enable artifactregistry.googleapis.com
  1. Buat clone repositori yang diperlukan untuk lab ini, lalu buka direktori container-analysis:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples cd java-docs-samples/container-registry/container-analysis

Tugas 1. Repositori standar

Repositori Standar menyediakan cara untuk menyimpan paket pribadi dan membagikannya ke seluruh aplikasi Anda yang lain

  1. Jalankan perintah berikut untuk membuat repositori maven standar untuk artefak Java:
gcloud artifacts repositories create container-dev-java-repo \ --repository-format=maven \ --location=us-central1 \ --description="Java package repository for Container Dev Workshop"

Klik Authorize jika prompt otorisasi Cloud Shell muncul.

  1. Di Konsol Cloud, buka Artifact Registry > Repositories dan perhatikan repositori Maven yang baru dibuat bernama container-dev-java-repo. Jika mengkliknya, Anda akan melihat bahwa saat ini repositori tersebut kosong.

  2. Tinjau repositori di terminal:

gcloud artifacts repositories describe container-dev-java-repo \ --location=us-central1

Tampilan respons akan mirip dengan yang berikut

Encryption: Google-managed key Repository Size: 0.000MB createTime: '2023-03-21T19:01:45.461589Z' description: Java package repository for Container Dev Workshop format: MAVEN mavenConfig: {} mode: STANDARD_REPOSITORY name: projects/qwiklabs-gcp-03-4304110dc461/locations/us-central1/repositories/container-dev-java-repo updateTime: '2023-03-21T19:01:45.461589Z'

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat repositori maven standar

Tugas 2. Mengonfigurasi Maven untuk Artifact Registry

  1. Jalankan perintah berikut untuk mencetak konfigurasi repositori yang akan ditambahkan ke project Java Anda:
gcloud artifacts print-settings mvn \ --repository=container-dev-java-repo \ --location=us-central1

Perintah sebelumnya menampilkan xml yang akan ditambahkan ke dalam pom.xml project Anda.

  • Bagian repositories menentukan tempat Maven dapat mendownload artefak jarak jauh untuk digunakan oleh project saat ini.
  • Bagian distributionManagement menentukan repositori jarak jauh tempat project akan dikirim untuk deployment-nya.
  • Bagian extensions menambahkan artifactregistry-maven-wagon yang memungkinkan lapisan transpor dan Autentikasi yang diperlukan untuk terhubung ke Artifact Registry
  • Catatan: Ekstensi dapat berada di pom.xml atau extensions.xml. Jika project bergantung pada project induk, dependensi tersebut akan diakses sebelum entri lainnya di pom.xml dimuat. Untuk memastikan project induk memiliki akses ke ekstensi, ekstensi dapat ditempatkan dalam file extensions.xml yang dimuat sebelum pom.xml sehingga ekstensi itu akan tersedia bagi dependensi induk.
  1. Jalankan perintah berikut di Cloud Shell untuk membuka Editor di direktori saat ini:
cloudshell workspace .
  1. Salin ketiga bagian tersebut, lalu buka pom.xml di Cloud Shell Editor dan tambahkan setelan yang ditampilkan ke bagian bawah file tepat di dalam tag project penutup.

Contoh: (nama project Anda akan berbeda di URL Anda)

... <distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <build> <extensions> <extension> <groupId>com.google.cloud.artifactregistry</groupId> <artifactId>artifactregistry-maven-wagon</artifactId> <version>2.2.0</version> </extension> </extensions> </build> </project>

Dengan Artifact Registry yang dikonfigurasi di Maven, Anda kini dapat menggunakan Artifact Registry untuk menyimpan file jar Java untuk digunakan oleh project lain di organisasi Anda.

  1. Jalankan perintah berikut untuk mengupload paket Java Anda ke Artifact Registry:
mvn deploy -DskipTests

Jika Anda ingin menjalankan perintah ini lagi, pastikan untuk meningkatkan versi di pom.xml.

  1. Di Konsol Cloud, buka Artifact Registry > Repositories. Klik container-dev-java-repo, lalu periksa apakah artefak biner hello-world ada di repositori tersebut:
Detail Repositori Artifact Registry

Tugas 3. Repositori jarak jauh

Repositori Jarak Jauh memberikan kemampuan untuk meng-cache paket pihak ketiga guna meningkatkan keandalan dan keamanan.

  1. Jalankan perintah berikut untuk membuat repositori jarak jauh bagi artefak Maven Central:
gcloud artifacts repositories create maven-central-cache \ --project=$PROJECT_ID \ --repository-format=maven \ --location=us-central1 \ --description="Remote repository for Maven Central caching" \ --mode=remote-repository \ --remote-repo-config-desc="Maven Central" \ --remote-mvn-repo=MAVEN-CENTRAL
  1. Di Konsol Cloud, buka Artifact Registry > Repositories. Klik maven-central-cache dan perhatikan bahwa repositori tersebut telah dibuat dan saat ini kosong.

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat repositori jarak jauh

  1. Tinjau repositori di terminal:
gcloud artifacts repositories describe maven-central-cache \ --location=us-central1
  1. Jalankan perintah berikut untuk mencetak konfigurasi repositori yang akan ditambahkan ke project Java Anda:
gcloud artifacts print-settings mvn \ --repository=maven-central-cache \ --location=us-central1
  1. Tambahkan bagian repositori ke dalam pom.xml Anda. Pastikan untuk tidak menyalin tag <repositories> terluar dari output.

  2. Ubah ID repositori yang baru ditambahkan menjadi "central" untuk memastikan setiap entri repositori memiliki ID unik.

Contoh: (nama project Anda akan berbeda di URL Anda)

... <distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>central</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/maven-central-cache</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <build> <extensions> <extension> <groupId>com.google.cloud.artifactregistry</groupId> <artifactId>artifactregistry-maven-wagon</artifactId> <version>2.2.0</version> </extension> </extensions> </build> </project>
  1. Jalankan perintah berikut di terminal untuk membuat extensions.xml bagi project Anda. Tindakan ini menggunakan mekanisme ekstensi inti sehingga Maven dapat me-resolve dependensi plugin atau induk dari Artifact Registry.
mkdir .mvn cat > .mvn/extensions.xml << EOF <extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd"> <extension> <groupId>com.google.cloud.artifactregistry</groupId> <artifactId>artifactregistry-maven-wagon</artifactId> <version>2.2.0</version> </extension> </extensions> EOF
  1. Jalankan perintah berikut untuk mengompilasi aplikasi Anda menggunakan Repositori Jarak Jauh:
rm -rf ~/.m2/repository mvn compile
  1. Di Konsol Cloud, buka Artifact Registry > Repositories. Klik maven-central-cache dan periksa apakah artefak biner di-cache di sana:
Detail Repositori Artifact Registry

Tugas 4. Repositori virtual

Repositori Virtual berfungsi sebagai antarmuka untuk mengakses beberapa repositori melalui satu konfigurasi. Hal ini menyederhanakan konfigurasi klien untuk konsumen artefak Anda dan meningkatkan keamanan dengan memitigasi serangan confusion dependensi.

  1. Buat file kebijakan
cat > ./policy.json << EOF [ { "id": "private", "repository": "projects/${PROJECT_ID}/locations/us-central1/repositories/container-dev-java-repo", "priority": 100 }, { "id": "central", "repository": "projects/${PROJECT_ID}/locations/us-central1/repositories/maven-central-cache", "priority": 80 } ] EOF
  1. Buat repositori virtual
gcloud artifacts repositories create virtual-maven-repo \ --project=${PROJECT_ID} \ --repository-format=maven \ --mode=virtual-repository \ --location=us-central1 \ --description="Virtual Maven Repo" \ --upstream-policy-file=./policy.json

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat repositori virtual

  1. Jalankan perintah berikut untuk mencetak konfigurasi repositori yang akan ditambahkan ke project Java Anda:
gcloud artifacts print-settings mvn \ --repository=virtual-maven-repo \ --location=us-central1
  1. Ganti seluruh bagian repositori di pom Anda dengan satu bagian repositori virtual dari output.

Contoh: (nama project Anda akan berbeda di URL Anda)

... <distributionManagement> <snapshotRepository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </snapshotRepository> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/container-dev-java-repo</url> </repository> </distributionManagement> <repositories> <repository> <id>artifact-registry</id> <url>artifactregistry://us-central1-maven.pkg.dev/qwiklabs-gcp-04-3c51830ea757/virtual-maven-repo</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <build> <extensions> <extension> <groupId>com.google.cloud.artifactregistry</groupId> <artifactId>artifactregistry-maven-wagon</artifactId> <version>2.2.0</version> </extension> </extensions> </build> </project>

Menarik dependensi dari Repositori Virtual

Karena repositori Virtual berfungsi sebagai perantara dan tidak akan menyimpan paket sebenarnya, untuk mendemonstrasikan prosesnya dengan jelas, Anda akan menghapus repositori maven-central-cache yang Anda buat sebelumnya dan membuatnya kembali, untuk memulai lagi dengan repositori kosong

  1. Jalankan perintah berikut untuk membuat ulang repositori cache
gcloud artifacts repositories delete maven-central-cache \ --project=$PROJECT_ID \ --location=us-central1 \ --quiet gcloud artifacts repositories create maven-central-cache \ --project=$PROJECT_ID \ --repository-format=maven \ --location=us-central1 \ --description="Remote repository for Maven Central caching" \ --mode=remote-repository \ --remote-repo-config-desc="Maven Central" \ --remote-mvn-repo=MAVEN-CENTRAL
  1. Anda dapat meninjau repositori kosong di konsol. Konsol Cloud > Artifact Registry > Repositories

  2. Sekarang, uji repositori virtual dengan membangun project Anda menggunakan perintah berikut:

rm -rf ~/.m2/repository mvn compile
  1. Tinjau paket di konsol. Konsol Cloud > Artifact Registry > Repositories. Klik maven-central-cache dan pastikan bahwa artefak biner yang sebelumnya dikonfigurasi untuk melakukan penarikan dari repositori virtual, akhirnya diubah ke maven-central-cache.
Detail repositori Artifact Registry

Selamat!

Anda telah mempelajari cara menggunakan beberapa mode repositori dan berbagai fungsi repositori tersebut.

Langkah berikutnya/pelajari lebih lanjut

Pelatihan & Sertifikasi Google Cloud

...membantu Anda mendapatkan manfaat optimal dari teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual agar dapat disesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui pada 10 September 2024

Lab Terakhir Diuji pada 6 Desember 2023

Hak cipta 2024 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Menggunakan jendela Samaran atau browser pribadi adalah cara terbaik untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa, yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.