Men-deploy Aplikasi dengan Keterampilan CI/CD dan Gemini CLI

1. Pengantar

Dalam codelab ini, Anda akan mempelajari alur kerja "zero-to-hero" untuk platform engineering menggunakan Gemini CLI dan ekstensi CI/CD. Anda akan berperan sebagai developer perusahaan yang telah membuat aplikasi (seperti demo Spring Petclinic atau aplikasi Python Flask) dan kini ingin men-deploy-nya ke Google Cloud untuk membagikannya.

Alih-alih mengonfigurasi pipeline yang kompleks secara manual, Anda akan menggunakan bahasa alami untuk memandu Gemini. Agen akan menganalisis project Anda, menyarankan runtime target skala kecil seperti Google Cloud Run, melakukan pemindaian keamanan untuk rahasia yang bocor, dan menangani deployment, sehingga memberi Anda URL yang berfungsi.

Yang akan Anda lakukan

  • Melakukan clone repositori (Anda dapat menggunakan repositori Anda sendiri atau aplikasi demo seperti Spring Petclinic).
  • Menginstal dan mengonfigurasi Gemini CLI dan ekstensi CI/CD.
  • Menggunakan perintah seperti deploy my application untuk memicu kemampuan deployment.
  • Menyaksikan Gemini menganalisis project, menyarankan Cloud Run, menjalankan pemeriksaan keamanan, dan men-deploy aplikasi.
  • Memverifikasi aplikasi yang sedang berjalan.

Yang akan Anda butuhkan

  • Browser web seperti Chrome.
  • Project Google Cloud yang mengaktifkan penagihan.

Codelab ini ditujukan bagi developer dari semua level, termasuk pemula.

2. Sebelum memulai

Penyiapan Penagihan

Membuat atau memilih project Google Cloud

Membuat Project Google Cloud

  1. Di Konsol Google Cloud, di halaman pemilih project, pilih atau buat project Google Cloud.
  2. Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan diaktifkan di project.

Mulai Cloud Shell

Cloud Shell adalah lingkungan command line yang berjalan di Google Cloud dan sudah dilengkapi dengan alat yang diperlukan.

  1. Klik Activate Cloud Shell di bagian atas konsol Google Cloud.
  2. Setelah terhubung ke Cloud Shell, verifikasi autentikasi Anda:
    gcloud auth list
    
  3. Pastikan project Anda dikonfigurasi:
    gcloud config get project
    
  4. Jika project Anda tidak ditetapkan seperti yang diharapkan, tetapkan project:
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

Mengaktifkan API

Jalankan perintah ini di Cloud Shell untuk mengaktifkan semua API yang diperlukan untuk lab ini:

gcloud services enable \
  cloudbuild.googleapis.com \
  run.googleapis.com \
  artifactregistry.googleapis.com

3. Menyiapkan Gemini CLI

Pada langkah ini, Anda akan menginstal dan mengonfigurasi Gemini CLI dan ekstensi CI/CD.

  1. Pastikan Gemini CLI terinstal. Jika Anda belum menginstalnya, ikuti petunjuk di Panduan Memulai Gemini CLI.
  2. Login: Sebaiknya login dengan Akun Google Anda. Lihat Panduan Autentikasi untuk mengetahui detailnya.
  3. Instal ekstensi CI/CD: Jalankan perintah berikut untuk menginstal ekstensi dari GitHub:
    gemini extensions install https://github.com/gemini-cli-extensions/cicd
    
    Anda dapat memvalidasi penginstalan ekstensi dengan mencantumkan ekstensi yang diinstal:
    gemini extensions list
    
  4. Konfigurasi Kredensial Default Aplikasi (ADC): Ekstensi CI/CD mengharuskan ADC dikonfigurasi. Jalankan:
    gcloud auth login
    gcloud auth application-default login
    
  5. Tetapkan project dan region default: Sebaiknya konfigurasi gcloud dengan project default dan project kuota untuk ADC. Ganti dengan nilai sebenarnya (misalnya, my-project):
    gcloud config set project <PROJECT_ID>
    gcloud auth application-default set-quota-project <PROJECT_ID>
    

4. Men-deploy Aplikasi

Sekarang Anda siap menggunakan Gemini CLI dan ekstensi CI/CD untuk men-deploy aplikasi.

Melakukan clone repositori

Di lab ini, kita akan menggunakan aplikasi contoh Spring Petclinic yang populer. Anda juga dapat menggunakan aplikasi Anda sendiri jika sudah siap dan menggunakan runtime yang didukung (seperti Python/Flask, Java/Spring Boot, dll.).

  1. Buat clone repositori dan buka direktori:
    git clone https://github.com/spring-projects/spring-petclinic.git
    cd spring-petclinic
    

Meminta Gemini untuk men-deploy

  1. Luncurkan Gemini CLI dari direktori project:
    gemini
    
  2. Setelah berada di dalam shell Gemini CLI, gunakan ekstensi CI/CD untuk men-deploy aplikasi Anda. Anda dapat menggunakan perintah bahasa alami yang sederhana:
    deploy my application
    

Proses selanjutnya

Gemini akan mengaktifkan kemampuan google-cicd-deploy dan melakukan beberapa tindakan:

  • Menganalisis project: Gemini akan mengidentifikasi jenis aplikasi (misalnya, Spring Boot).
  • Menyarankan runtime: Gemini akan menyarankan runtime yang sesuai, seperti Google Cloud Run.
  • Pemindaian Keamanan: Gemini akan memindai rahasia yang bocor menggunakan alat MCP. Anda harus mengizinkan alat untuk berjalan jika diminta.
  • Mengekstrak konfigurasi: Gemini akan menggunakan gcloud untuk membaca lingkungan project Anda saat ini.
  • Mengusulkan parameter: Gemini akan menampilkan default yang wajar untuk parameter deployment dan meminta konfirmasi Anda.

Tinjau konfigurasi yang diusulkan dan konfirmasi deployment.

Setelah selesai, Gemini akan memberi Anda URL aplikasi yang sedang berjalan.

5. Pembersihan

Untuk menghindari biaya berkelanjutan ke akun Google Cloud Anda, hapus resource yang dibuat selama codelab ini.

Jika Anda men-deploy ke Cloud Run, Anda dapat menghapus layanan menggunakan perintah berikut (ganti dengan region komputasi Anda, misalnya, us-central1):

gcloud run services delete spring-petclinic --region <REGION>

Atau, jika Anda membuat project khusus untuk codelab ini, Anda dapat menghapus seluruh project:

gcloud projects delete <YOUR_PROJECT_ID>

6. Selamat

Selamat! Anda telah berhasil menggunakan Gemini CLI dan ekstensi CI/CD untuk men-deploy aplikasi ke Google Cloud Run menggunakan perintah bahasa alami.

Yang telah Anda pelajari

  • Cara menginstal dan mengonfigurasi Gemini CLI dan ekstensi CI/CD.
  • Cara menggunakan bahasa alami untuk memicu alur deployment.
  • Cara Gemini menganalisis project Anda, menangani pemindaian keamanan, dan menyarankan runtime.

Langkah berikutnya

  • Pelajari perintah yang lebih canggih dengan ekstensi CI/CD, seperti mendesain pipeline lengkap atau membuat Terraform.
  • Lihat ekstensi CI/CD.
  • Pelajari Developer Connect lebih lanjut.

Dokumen referensi