Mengembangkan dengan Cloud Code

1. Tujuan

Di lab ini, Anda akan:

  • Jelajahi Plugin Cloud Code
  • Men-deploy ke cluster Kubernetes
  • Log kubernetes streaming
  • Memanfaatkan hot reload pada perubahan
  • Men-debug aplikasi Kubernetes live

2. Menyiapkan ruang kerja Anda

Meng-clone aplikasi

Untuk meng-clone repositori dan membukanya di lingkungan pengembangan Anda:

  1. Buka editor Cloud Shell dengan mengunjungi URL berikut

https://ide.cloud.google.com

  1. Di jendela terminal, clone sumber aplikasi dengan perintah berikut:

git clone https://github.com/viglesiasce/sample-app.git -b golden-path

  1. Ubah ke direktori dan setel ruang kerja IDE ke root repo

cd sample-app && cloudshell workspace .

Mulai Minikube

Di bagian ini, Anda akan membangun, menguji, men-deploy, dan mengakses aplikasi menggunakan versi lokal Kubernetes yang disebut Minikube.

  1. Di terminal, mulai minikube dengan menjalankan:

minikube start

Minikube menyiapkan cluster Kubernetes lokal di Cloud Shell Anda. Penyiapan ini memerlukan waktu beberapa menit. Selagi memulai, luangkan waktu untuk meninjau berbagai antarmuka yang disediakan oleh Cloud Code pada langkah berikutnya.

3. Menjelajahi Plugin Cloud Code

Cloud Code menyediakan dukungan IDE untuk siklus pengembangan lengkap aplikasi Cloud Run dan Kubernetes, mulai dari membuat aplikasi dari template yang ada hingga memantau resource aplikasi yang di-deploy. Anda akan menggunakan berbagai perintah dan tampilan yang disediakan oleh Cloud Code. Pada langkah ini, Anda akan mempelajari antarmuka dasar.

Tinjau tampilan penjelajah dari panel aktivitas

Beberapa panel antarmuka pengguna dapat diakses dari panel Aktivitas. Untuk memahami secara singkat berbagai tampilan, klik ikon untuk setiap tampilan

API Explorer:

  • Klik ikon Cloud Code - Cloud API Cloud Code ______ dari panel Aktivitas. Detail tambahan untuk bekerja dalam tampilan ini tersedia di dokumentasi.

ded1723c524edd72.png

Penjelajah Secret Manager:

  • Klik tampilan Secret Manager ✔ di panel Activity. Detail tambahan untuk bekerja dalam tampilan ini tersedia dalam dokumentasi

89f88159bcf79fa9.png

Cloud Run Explorer:

  • Buka Cloud Run Explorer menggunakan ikon Cloud Run di panel Activity di sebelah kiri menyadari. Detail tambahan untuk bekerja dalam tampilan ini tersedia dalam dokumentasi

a1d583fd06413011.png

Penjelajah Kubernetes:

  • Buka Kubernetes Explorer menggunakan ikon di panel Aktivitas di sebelah kiri menyadari. Detail tambahan untuk bekerja dalam tampilan ini tersedia dalam dokumentasi

b2b8ab3975c5b0c9.png

Meninjau perintah status bar

Perintah yang sering digunakan dapat diakses dengan cepat melalui indikator di status bar.

  • Temukan indikator ekstensi Cloud Code di status bar d61e85cf23a32a40.png menyadari, lalu klik indikator tersebut.
  • Meninjau berbagai perintah yang tersedia untuk dijalankan dan di-debug di CloudRun dan Kubernetes
  • Klik Buka Halaman Sambutan untuk detail tambahan dan contoh aktivitas

Meninjau Perintah palet perintah

Perintah tambahan tersedia dari palet perintah. Tinjau daftar perintah yang dapat Anda akses.

  • Buka Palet Perintah (tekan Ctrl/Cmd+Shift+P), lalu ketik Cloud Code untuk memfilter perintah yang tersedia.
  • Gunakan tombol panah untuk melihat daftar perintah.

4. Men-deploy ke cluster Kubernetes

Di bagian ini, Anda akan membangun, menguji, men-deploy, dan mengakses aplikasi.

Langkah-langkah di bawah ini memulai build kode sumber, lalu menjalankan pengujian. Build dan pengujian akan memerlukan waktu beberapa menit untuk dijalankan. Pengujian ini mencakup pengujian unit dan langkah validasi yang memeriksa aturan yang ditetapkan untuk lingkungan deployment. Langkah validasi ini sudah dikonfigurasi, dan memastikan bahwa Anda mendapatkan peringatan tentang masalah deployment meskipun Anda masih bekerja di lingkungan pengembangan.

  1. Pada panel di bagian bawah Cloud Shell Editor, pilih Cloud Code ✔ d61e85cf23a32a40.png.
  2. Di panel yang muncul di bagian atas, pilih Run on Kubernetes. Jika diminta, pilih Ya untuk menggunakan konteks Kubernetes minikube.
  3. Pilih tab Output di panel bawah 4866761cb9c691e2.png untuk melihat progres dan notifikasi
  4. Pilih "Kubernetes: Run/Debug - Terperinci" di menu drop-down saluran di sebelah kanan c5e31091d464dbcf.png untuk melihat detail tambahan dan log yang melakukan streaming langsung dari penampung

Setelah build dan pengujian selesai, tab Output akan menampilkan: Resource deployment/sample-app-dev status completed successfully, dan dua URL akan dicantumkan.

  1. Di terminal Cloud Code, arahkan kursor ke URL pertama pada output (http://localhost:8080), lalu di ujung alat yang muncul, pilih Open Web Preview.

Versi lokal aplikasi akan terbuka di browser Anda. Versi aplikasi ini berjalan di cluster Kubernetes minikube.

  1. Di browser, muat ulang halaman. Angka di samping Penghitung meningkat, yang menunjukkan bahwa aplikasi merespons pemuatan ulang Anda.

Di browser, tetap buka halaman ini agar Anda dapat melihat aplikasi saat membuat perubahan di lingkungan lokal.

5. Memanfaatkan hot reload pada perubahan

Di bagian ini, Anda akan membuat perubahan pada aplikasi, dan melihat perubahan tersebut saat aplikasi berjalan di cluster Kubernetes lokal. Di tab output untuk saluran Kubernetes: Run/Debug, selain URL aplikasi, outputnya juga bertuliskan Watching for changes.. Ini berarti mode smartwatch diaktifkan. Saat Cloud Code dalam mode pantau, Cloud Code akan mendeteksi setiap perubahan yang tersimpan di repo Anda dan akan otomatis membangun ulang serta men-deploy ulang aplikasi dengan perubahan terbaru.

  1. Di Cloud Shell Editor, buka file main.go.
  2. Di file main.go ini, di baris 23, ubah warna dari hijau menjadi biru.
  3. Simpan file.

Cloud Code mendeteksi bahwa perubahan pada aplikasi telah disimpan, dan secara otomatis men-deploy ulang perubahan tersebut. Tab Output menunjukkan Update dimulai. Deployment ulang ini akan memerlukan waktu beberapa menit untuk dijalankan.

Build ulang otomatis ini mirip dengan pemuatan ulang hot code, yang merupakan fitur yang tersedia untuk beberapa jenis dan framework aplikasi.

  1. Setelah build selesai, buka browser tempat Anda membuka aplikasi, lalu muat ulang halaman.

Saat Anda memuat ulang, warna di bagian atas tabel akan berubah dari biru menjadi hijau.

Penyiapan ini memberi Anda pemuatan ulang otomatis untuk arsitektur apa pun, dengan komponen apa pun. Saat menggunakan Cloud Code dan minikube, apa pun yang berjalan di Kubernetes memiliki fungsi pemuatan ulang hot code ini.

6. Melakukan proses debug aplikasi Kubernetes live

Anda telah menjalankan aplikasi, membuat perubahan, dan melihat aplikasi yang sedang berjalan. Di bagian ini, Anda men-debug aplikasi untuk memastikan bahwa aplikasi siap di-commit kembali ke dalam repo utama.

Untuk contoh debug ini, kita akan berfokus pada bagian kode untuk penghitung halaman.

  1. Di Cloud Shell Editor, buka file main.go
  2. Menetapkan titik henti sementara dalam aplikasi dengan mengklik ke angka kiri baris 82 (jika err != nil {)
  3. Pada panel biru di bagian bawah Cloud Shell Editor, pilih Cloud Code d61e85cf23a32a40.png menyadari.
  4. Di panel yang muncul di bagian atas, pilih Debug di Kubernetes.

Cloud Code menjalankan dan memasang debugger sehingga Anda dapat mengakses status aplikasi dalam memori, bukan hanya perilaku aplikasi yang ditampilkan kepada pengguna.

  1. Di akhir proses deployment, akan muncul perintah di bagian atas jendela yang meminta konfirmasi direktori di container tempat aplikasi di-deploy. f96e9a814edb44f4.png

Pastikan nilai ditetapkan ke /go/src/app, lalu tekan enter untuk menerima nilai tersebut

  1. Tunggu hingga debugger selesai di-deploy. Anda akan mengetahui bahwa status sudah selesai jika status bar berubah menjadi oranye dan outputnya melaporkan "Attached debugger to container "sample-app-dev-..." successfully."
  2. Di terminal Cloud Code, arahkan kursor ke URL pertama pada output (http://localhost:8081), lalu di ujung alat yang muncul, pilih Open Web Preview. Halaman tidak akan selesai dimuat seperti yang seharusnya.
  3. Beralih kembali ke IDE tempat debugger sekarang muncul. Kode akan muncul di tab, dan Anda akan melihat stack panggilan, variabel apa yang tersedia di bagian kode tersebut. Anda dapat memperluas Variables - Local untuk melihat nilai variabel penghitung saat ini di sini.
  4. Agar halaman dapat terus dimuat, pilih "Lanjutkan" ikon di jendela proses debug 8f395391c4828528.pngS
  5. Setelah selesai proses debug, klik tombol berhenti untuk menghentikan setiap thread yang berjalan. 81d142a9e1a2c01b.pngS