Cloud Code for IntelliJ memungkinkan Anda men-debug aplikasi yang di-deploy ke cluster Kubernetes dengan mudah. Anda dapat men-debug aplikasi di cluster lokal (seperti minikube atau Docker Desktop), Google Kubernetes Engine, atau penyedia Cloud lainnya.
Dengan dukungan proses debug Cloud Code, Anda dapat melewati penyiapan manual seperti
menyiapkan penerusan port, menginstal backend proses debug, atau memasukkan
argumen debug khusus bahasa dengan cara yang benar. Yang Anda perlukan hanyalah aplikasi Kubernetes yang siap untuk Cloud Code yang menyertakan file konfigurasi skaffold.yaml
.
Cloud Code juga memungkinkan Anda men-debug aplikasi saat membuat perubahan pada, dan melakukan iterasi pada, kode sumber.
IDE yang Didukung
Tabel berikut mencantumkan bahasa dan IDE yang didukung Cloud Code untuk proses debug. Tabel ini juga mencantumkan plugin yang diperlukan, jika berlaku:
Bahasa | IDE dan edisi yang didukung | Plugin yang diperlukan |
---|---|---|
Java | IntelliJ IDEA Ultimate | T/A |
Komunitas IntelliJ IDEA | T/A | |
Go | IntelliJ IDEA Ultimate | Plugin Go |
GoLand | T/A | |
Node.js | IntelliJ IDEA Ultimate | Plugin Node.js |
WebStorm | T/A | |
Python | IntelliJ IDEA Ultimate | Plugin Python |
PyCharm Professional | T/A |
Untuk mengetahui informasi selengkapnya tentang dukungan IDE, lihat IDE JetBrains yang Didukung.
Dengan Cloud Code, Anda dapat menetapkan titik henti sementara dan men-debug aplikasi jarak jauh yang berjalan dalam penampung untuk bahasa berikut:
Java
Cloud Code secara otomatis menambahkan variabel lingkungan,
JAVA_TOOL_OPTIONS
, dengan konfigurasi JDWP yang sesuai untuk
mengaktifkan proses debug. Jika JAVA_TOOL_OPTIONS
sudah ada, Cloud Code akan menggunakan setelan yang ada yang ditentukan dalam JAVA_TOOL_OPTIONS
.
Node.js
Bergantung pada struktur aplikasi dan konfigurasi build gambarnya, Anda mungkin harus membantu debugger memetakan sumber lokal ke sumber jarak jauh dalam penampung. Tindakan ini memungkinkan debugger Node memproses titik henti sementara Anda dengan benar.
Anda dapat mengonfigurasinya dengan salah satu cara berikut:
Konfigurasi manual
Pilih Konfigurasi Run Develop on Kubernetes dari dropdown, lalu klik Edit Configurations. Di tab Debug, konfigurasikan pemetaan sumber dari sumber aplikasi lokal ke lokasi sumber di penampung jarak jauh.
Opsi konfigurasi:
- File/direktori - file atau direktori lokal aplikasi Anda yang berjalan di Kubernetes.
- Jalur jarak jauh - jalur ke file atau direktori yang berjalan di container di Kubernetes.
Konfigurasi otomatis
Anda dapat memilih untuk menunda pemetaan ini ke Cloud Code. Saat Anda memulai sesi debug, Cloud Code akan mencoba menyimpulkan pemetaan ini secara otomatis. Pemetaan yang disimpulkan ditampilkan kepada Anda dalam dialog; satu dialog untuk setiap artefak yang Anda debug.
Opsi konfigurasi:
- Jalur lokal - jalur lokal ke root artefak yang sedang Anda debug.
- Jalur jarak jauh - jalur ke file atau direktori yang berjalan di container di Kubernetes. Anda dapat memilih untuk menggantinya dengan nilai Anda sendiri. Jika Anda mengklik Batal, tidak ada pemetaan yang diterapkan.
Go
Untuk mengonfigurasi aplikasi guna proses debug, aplikasi Anda harus berupa
aplikasi berbasis Modul Go
dan diidentifikasi sebagai berbasis Go dengan menetapkan salah satu
variabel lingkungan runtime Go standar
di penampung, seperti GODEBUG
, GOGC
, GOMAXPROCS
, atau
GOTRACEBACK
. GOTRACEBACK=single
adalah setelan default untuk Go
dan GOTRACEBACK=all
adalah konfigurasi yang umumnya berguna.
Secara opsional (tetapi direkomendasikan), aplikasi Anda harus di-build dengan
opsi -gcflags='all=-N -l'
untuk menonaktifkan pengoptimalan. Profil
Skaffold adalah opsi
yang berguna untuk tujuan ini dan dapat ditetapkan dengan kolom Deployment Profile
dalam konfigurasi Run di tab Build/Deploy.
Python
Untuk mengonfigurasi aplikasi Anda untuk proses debug, pastikan Anda memenuhi prasyarat berikut:
IDE, edisi, dan plugin kompatibel
Untuk IDE, edisi, dan plugin yang kompatibel, lihat IDE yang Didukung.
Versi Skaffold adalah 1.25.0 atau yang lebih baru
Anda dapat mengizinkan Cloud Code untuk mengelola dependensi Anda, atau mengarah ke penginstalan Skaffold lokal. Lihat Preferensi > Alat > Cloud Code > Dependensi.
Penafsir Python dikonfigurasi
Tanpa penafsir Python yang dikonfigurasi dalam project Anda, proses debug tidak akan berfungsi, karena tidak ada cara untuk menjalankan
pydevd
, debugger Python yang mendasarinya.IDE Cara mengonfigurasi IntelliJ IDEA Proses debug Python dengan Cloud Code memerlukan Python SDK yang dikonfigurasi untuk project Anda.
Buka File > Project Structure dan tambahkan Python SDK di tab Project. Jika tidak ada, tambahkan di tab SDK.PyCharm Buka File > Settings > Project > Python Interpreter atau untuk Mac OS X, PyCharm > Preferences > Project > Python Interpreter, lalu tambahkan penafsir Python.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi debug Skaffold.
Men-debug aplikasi
Untuk memulai siklus pengembangan dalam mode debug di cluster Kubernetes, klik tindakan debug untuk Develop on Kubernetes.
Siklus pengembangan berkelanjutan dimulai dalam mode debug.
Cloud Code melampirkan sesi debug:
Sekarang Anda dapat melakukan tugas yang biasanya Anda lakukan saat men-debug kode lokal, seperti menetapkan titik henti sementara dan menelusuri kode, terhadap cluster Kubernetes aktif.
Untuk mengakhiri sesi proses debug, klik ikon berhenti di Konfigurasi Run Develop on Kubernetes.
Langkah selanjutnya
- Gunakan sinkronisasi file dan hot reload untuk mempercepat pengembangan.
- Siapkan lingkungan continuous development di Cloud Code.
- Lihat log Kubernetes di Cloud Code.