Mengembangkan dengan Cloud Code

1. Tujuan

Di lab ini, Anda akan:

  • Mempelajari Plugin Cloud Code
  • Men-deploy ke cluster Kubernetes
  • Menjalankan streaming Log Kubernetes
  • Memanfaatkan hot reload perubahan
  • Men-debug aplikasi Kubernetes aktif

2. Menyiapkan ruang kerja

Meng-clone aplikasi

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

  1. Buka editor Cloud Shell dengan membuka 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 tetapkan ruang kerja IDE ke root repo

cd sample-app && cloudshell workspace .

Memulai 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 akan memerlukan waktu beberapa menit. Saat dimulai, luangkan waktu untuk meninjau berbagai antarmuka yang disediakan oleh Cloud Code pada langkah berikutnya.

3. Mempelajari Plugin Cloud Code

Cloud Code menyediakan dukungan IDE untuk siklus pengembangan lengkap aplikasi Kubernetes dan Cloud Run, 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.

Meninjau tampilan Explorer dari panel aktivitas

Beberapa panel antarmuka pengguna dapat diakses dari panel Aktivitas. Untuk mempelajari berbagai tampilan secara singkat, 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 dalam dokumentasi.

ded1723c524edd72.png

Secret Manager Explorer:

  • Klik tampilan Secret Manager  di panel Aktivitas. 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 Aktivitas di sebelah kiri . Detail tambahan untuk bekerja dalam tampilan ini tersedia dalam dokumentasi

a1d583fd06413011.png

Kubernetes Explorer:

  • Buka Kubernetes Explorer menggunakan ikon di panel Aktivitas di sebelah kiri . 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 , lalu klik.
  • Tinjau berbagai perintah yang tersedia untuk dijalankan dan di-debug di CloudRun dan Kubernetes
  • Klik Open Welcome Page untuk detail tambahan dan aktivitas contoh

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 menelusuri daftar perintah.

4. Men-deploy ke cluster Kubernetes

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

Langkah-langkah di bawah 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 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 Yes untuk menggunakan konteks Kubernetes minikube.
  3. Pilih tab Output di panel bawah 4866761cb9c691e2.png untuk melihat progres dan notifikasi
  4. Pilih "Kubernetes: Run/Debug - Detailed" di menu drop-down saluran di sebelah kanan c5e31091d464dbcf.png untuk melihat detail tambahan dan log yang di-streaming langsung dari container

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

  1. Di terminal Cloud Code, arahkan kursor ke URL pertama dalam output (http://localhost:8080), lalu di tips 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 Counter akan bertambah, yang menunjukkan bahwa aplikasi merespons refresh Anda.

Di browser, biarkan halaman ini tetap terbuka sehingga Anda dapat melihat aplikasi saat membuat perubahan di lingkungan lokal.

5. Memanfaatkan hot reload perubahan

Di bagian ini, Anda akan membuat perubahan pada aplikasi dan melihat perubahan saat aplikasi berjalan di cluster Kubernetes lokal. Di tab output untuk saluran Kubernetes: Run/Debug, selain URL aplikasi, output juga akan menampilkan Watching for changes. Artinya, mode smartwatch diaktifkan. Saat Cloud Code berada dalam mode smartwatch, Cloud Code akan mendeteksi setiap perubahan yang tersimpan di repo Anda dan 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, pada baris 23, ubah warna dari hijau menjadi biru.
  3. Simpan file.

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

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

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

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

Penyiapan ini memungkinkan Anda memuat ulang secara otomatis untuk arsitektur apa pun, dengan komponen apa pun. Saat menggunakan Cloud Code dan minikube, semua hal yang berjalan di Kubernetes memiliki fungsi hot code ini.

6. Men-debug aplikasi Kubernetes aktif

Anda telah menjalankan aplikasi, membuat perubahan, dan melihat aplikasi yang berjalan. Di bagian ini, Anda akan men-debug aplikasi untuk memastikan bahwa aplikasi siap di-commit kembali ke 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. Tetapkan titik henti sementara di aplikasi dengan mengklik angka di sebelah kiri baris 82 (if err != nil {)
  3. Di panel biru di bagian bawah Cloud Shell Editor, pilih Cloud Code d61e85cf23a32a40.png .
  4. Di panel yang muncul di bagian atas, pilih Debug on Kubernetes.

Cloud Code menjalankan dan melampirkan debugger sehingga Anda dapat mengakses status dalam memori aplikasi, bukan hanya perilaku aplikasi yang terlihat oleh pengguna.

  1. Di akhir proses deployment, perintah akan muncul di bagian atas jendela Anda 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

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