Modul Skaffold

Skaffold adalah alat command line yang memfasilitasi pengembangan berkelanjutan untuk aplikasi native Kubernetes. Skaffold menangani alur kerja untuk mem-build, mengirim, dan men-deploy aplikasi, serta menyediakan elemen penyusun untuk membuat pipeline CI/CD. Skaffold adalah mesin yang mendukung Cloud Code.

Project Skaffold biasanya mulai menggunakan satu konfigurasi skaffold.yaml untuk menjelaskan cara mem-build dan men-deploy aplikasi. Seiring project berkembang, akan lebih baik jika pipeline aplikasi dibagi menjadi bagian terpisah.

Skaffold mendukung penentuan beberapa dependensi konfigurasi, yang ditempatkan bersama dalam file skaffold.yaml yang sama dan dipisahkan menggunakan pemisah dokumen YAML (---), atau ditempatkan dalam file skaffold.yaml terpisah yang direferensikan dari file skaffold.yaml tingkat lebih tinggi. Konfigurasi dapat dibuat menjadi modul dengan memberinya nama menggunakan kolom .metadata.name.

Dengan menggunakan modul, Anda dapat mengembangkan dan men-debug bagian aplikasi secara independen. Dependensi dapat ditentukan antara file konfigurasi dan modul tertentu.

Men-debug aplikasi dengan modul Skaffold

Anda dapat mengembangkan dan men-debug seluruh aplikasi atau sekumpulan modul yang ditentukan secara iteratif. Skaffold mengelola dependensi modul dan urutan deployment-nya.

Mulai menggunakan contoh modul Skaffold

Untuk memilih modul untuk aplikasi Anda, lihat Mengembangkan bagian aplikasi secara independen.

Jika Anda belum menggunakan modul Skaffold dan ingin menguji fitur dengan contoh, lihat Contoh buku tamu, yang dimodularisasi menjadi frontend dan backend.

Untuk contoh aplikasi perusahaan besar, yang dikembangkan menggunakan berbagai teknologi dan bahasa, serta menggunakan modul Skaffold, lihat contoh Bank of Anthos.

Kasus penggunaan umum

Bagian ini menguraikan beberapa contoh kasus penggunaan umum yang menunjukkan berbagai skenario kapan dan bagaimana Anda dapat menggunakan modul di IDE.

Pengembangan microservice

Anda adalah developer frontend yang sebagian besar mengerjakan modul frontend. Sebagai microservice, frontend tidak memiliki dependensi kode atau library eksplisit di repo backend, tetapi memerlukan backend untuk di-deploy dan berjalan di cluster.

Anda menggunakan project berbasis Skaffold yang berisi definisi modul frontend untuk men-deploy dan men-debug dari IDE Cloud Code ke cluster pengembangan bersama tempat tim backend juga men-deploy layanan mereka. Tim DevOps mengelola cluster bersama ini.

Anda tidak menggunakan atau men-debug kode backend atau mengupdate konfigurasi Kubernetes sebagian besar waktu. Skaffold mem-build dan men-deploy konfigurasi lain yang diperlukan frontend. Anda mengonfigurasi konfigurasi deployment Cloud Code agar hanya melakukan iterasi pada modul frontend.

Anda juga dapat men-deploy frontend dan backend ke cluster lokal untuk mendapatkan pengalaman iterasi yang lebih cepat.

Pengembangan dan proses debug microservice lintas batas

Jika beberapa microservice perlu di-debug secara bersamaan, Anda dapat:

  • Buka direktori induk tempat semua subdirektori dengan kode sumber modul berada relatif terhadap satu sama lain
  • Memilih file skaffold.yaml root untuk deployment (konfigurasi)
  • Konfigurasikan konfigurasi deployment Cloud Code agar hanya melakukan iterasi pada modul frontend dan backend yang tersedia secara lokal (dan modul konfigurasi Kubernetes masing-masing jika ada perubahan di sana).

Anda juga dapat memiliki file skaffold.yaml root terpisah untuk pengembangan lokal yang menyertakan server data statis.

Pengeditan YAML modul cerdas

Anda adalah engineer DevOps yang membuat repositori template untuk tim developer microservice yang menggunakan modul Skaffold. Anda ingin memastikan tidak ada error dalam definisi modul tanpa menjalankan Skaffold secara manual (seperti dependensi siklus atau nama modul yang tidak unik). Anda menggunakan IDE Cloud Code untuk mengedit file konfigurasi YAML Skaffold.

Mendapatkan dukungan

Untuk mengirimkan masukan atau melaporkan masalah di IDE IntelliJ, buka Tools > Cloud Code > Help / About > Submit feedback or report an issue untuk melaporkan masalah di GitHub.