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:
- Buka editor Cloud Shell dengan membuka URL berikut
https://ide.cloud.google.com
- Di jendela terminal, clone sumber aplikasi dengan perintah berikut:
git clone https://github.com/viglesiasce/sample-app.git -b golden-path
- 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.
- 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.

Secret Manager Explorer:
- Klik tampilan Secret Manager  di panel Aktivitas. Detail tambahan untuk bekerja dalam tampilan ini tersedia dalam dokumentasi

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

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

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
, 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.
- Pada panel di bagian bawah Cloud Shell Editor, pilih Cloud Code 
. - Di panel yang muncul di bagian atas, pilih Run on Kubernetes. Jika diminta, pilih Yes untuk menggunakan konteks Kubernetes minikube.
- Pilih tab Output di panel bawah
untuk melihat progres dan notifikasi - Pilih "Kubernetes: Run/Debug - Detailed" di menu drop-down saluran di sebelah kanan
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.
- 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.
- 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.
- Di Cloud Shell Editor, buka file main.go.
- Di file main.go ini, pada baris 23, ubah warna dari hijau menjadi biru.
- 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.
- 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.
- Di Cloud Shell Editor, buka file main.go
- Tetapkan titik henti sementara di aplikasi dengan mengklik angka di sebelah kiri baris 82 (if err != nil {)
- Di panel biru di bagian bawah Cloud Shell Editor, pilih Cloud Code
. - 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.
- Di akhir proses deployment, perintah akan muncul di bagian atas jendela Anda yang meminta konfirmasi direktori di container tempat aplikasi di-deploy.

Pastikan nilai ditetapkan ke /go/src/app, lalu tekan Enter untuk menerima nilai
- 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". - 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.
- 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.
- Untuk mengizinkan halaman terus dimuat, pilih ikon "Lanjutkan" di jendela proses debug

- Setelah selesai men-debug, klik tombol berhenti untuk menghentikan setiap thread yang berjalan.
