Gunakan aplikasi yang sudah ada di Cloud Code untuk IntelliJ

Jika sudah memiliki project yang dikonfigurasi dengan manifes Kubernetes, Dockerfile, atau Jib untuk membuat image, Anda dapat membuka dan menggunakannya dengan plugin. Satu-satunya konfigurasi tambahan yang diperlukan adalah file YAML Skaffold yang dapat dibuat secara otomatis atau dibuat menggunakan template yang disediakan.

Setelah selesai mengonfigurasi YAML Skaffold, pastikan untuk menentukan lokasi penyimpanan image container tempat image project akan dikirim.

Bootstrap project otomatis

Project Anda harus memiliki satu atau beberapa manifes Kubernetes. Jika Cloud Code mendeteksi salah satu manifes Kubernetes dalam project, Cloud Code akan mencoba melakukan bootstrap.

Jika Cloud Code tidak mendeteksi konfigurasi Skaffold yang ada, Anda akan diminta untuk membantu menyiapkannya.

Prasyarat

Project Anda harus memenuhi prasyarat berikut agar diminta untuk membuat file skaffold.yaml dan menjalankan konfigurasi yang diperlukan:

  • (Opsi 1) Project Anda memiliki Dockerfile dan dikonfigurasi untuk Jib, atau

  • (Opsi 2) Project Anda dapat dibangun menggunakan Buildpacks dan memiliki resource Kubernetes.

Menyiapkan konfigurasi run Kubernetes

Jika prasyarat terpenuhi, Cloud Code akan meminta notifikasi kepada Anda untuk membuat file skaffold.yaml (jika belum ada) dan konfigurasi run apa pun yang diperlukan:

Notifikasi yang berisi link untuk membuat konfigurasi run Kubernetes Cloud Code

  1. Klik notifikasi tersebut. Tindakan ini akan otomatis membuat konfigurasi Anda jika memungkinkan.

    Jika pembuatan konfigurasi Skaffold otomatis tidak dimungkinkan karena terdeteksi beberapa gambar atau builder, Cloud Code akan menampilkan dialog yang meminta Anda untuk memberikan pemetaan antara image dan builder yang terdeteksi.

    Menentukan setelan build yang akan digunakan dalam konfigurasi Skaffold Anda

    Atau, Anda juga dapat menyiapkan konfigurasi Skaffold dengan membuka Tools > Cloud Code > Kubernetes dan memilih Add Kubernetes Support.

    Opsi ini menganalisis resource Kubernetes project Anda dan menghasilkan file skaffold.yaml (jika belum ada) serta konfigurasi run yang diperlukan. Dua konfigurasi run yang dihasilkan mencakup satu untuk menjalankan project Anda di Kubernetes dan satu lagi untuk pengembangan di cluster Kubernetes.

  2. Setelah dukungan ditambahkan, Anda dapat mulai menjalankan dan men-debug project di Kubernetes menggunakan konfigurasi run yang baru ditambahkan.

Membuat konfigurasi Skaffold Cloud Code secara manual

Anda dapat memilih untuk membuat file skaffold.yaml baru secara manual atau menambahkan file yang sudah ada ke project Anda.

Untuk membuat file skaffold.yaml secara manual menggunakan template live, ikuti langkah-langkah berikut:

  1. Buat file baru bernama skaffold.yaml di direktori utama project (klik kanan > New > File).

  2. Dengan kursor di file baru, tekan Ctrl+Space untuk menampilkan saran template langsung, lalu pilih template Skaffold yang diinginkan.

    Menggunakan template YAML Skaffold

  3. Isi kolom image dengan nama image project Anda dan kolom manifes dengan daftar resource Kubernetes yang ingin di-deploy dari IDE.

  4. Setelah Cloud Code menentukan bahwa file skaffold.yaml Anda valid, klik permintaan untuk membuat konfigurasi run Kubernetes.

    Membuat notifikasi target run Kubernetes

Contoh konfigurasi Skaffold Cloud Code

  • Build berbasis Dockerfile:

    build:
      artifacts:
        - image: image_name
    deploy:
      kubectl:
        manifests:
          - k8s/web.yaml
          - k8s/backend.yaml
    
  • Bagian build untuk project Maven/Gradle Java dengan plugin Jib (bagian deploy tetap sama seperti contoh di atas):

    build:
    artifacts:
    - image: image_name
      jib: {}
    
  • Jika ingin menentukan konfigurasi build, pengujian, dan deployment untuk konteks yang berbeda, Anda dapat memiliki profil yang berbeda. Berikut ini contoh profil Cloud Build untuk mengonfigurasi Cloud Code guna membangun image dengan Cloud Build:

    profiles:
    # use the cloudbuild profile to build images using Google Cloud Build
    - name: cloudbuild
      build:
        googleCloudBuild: {}
    
  • Jika Anda ingin men-deploy project dengan Helm, lihat dokumentasi Helm.

Menentukan tempat gambar container disimpan

Penyimpanan image container

Sebelum men-deploy aplikasi, Anda harus menentukan repositori gambar default untuk digunakan dengan project Anda.

Secara default, project dikonfigurasi untuk menggunakan nama image yang ditentukan dalam manifes Kubernetes Anda. Anda juga dapat menyesuaikan spesifikasi gambar ini. Setelah menyiapkan repositori pilihan (Artifact Registry, Container Registry, DockerHub, repositori pribadi, dll.), edit konfigurasi run dan tentukan sebagai repositori image default di setelan konfigurasi run. Untuk image Google Container Registry, kolom ini dilengkapi dengan pelengkapan otomatis untuk membantu Anda menemukan repositori Container Registry dengan lebih cepat.

Fungsi ini dapat diakses dari dialog konfigurasi Run/Debug di taskbar atas di bagian Edit Configurations > Develop on Kubernetes > Image repository.

Repositori gambar default dalam konfigurasi run ditetapkan dengan format 'gcr.io/' dan disajikan opsi pelengkapan otomatis berdasarkan project saat ini dan cluster aktif

Untuk informasi selengkapnya tentang cara menentukan preferensi image container, lihat panduan Mengonfigurasi setelan image container.

Setelan build

Setelah menetapkan image container, Anda dapat mengonfigurasi setelan build-nya. Cloud Code mendukung jenis artefak Docker, Jib, dan Buildpacks.

Di tab Build / Deploy pada setelan konfigurasi Run (Edit Configurations > Develop on Kubernetes), Anda dapat mengonfigurasi setelan build untuk profil default.

Setelan build ditampilkan di tab Build/Deploy

Untuk mengetahui informasi selengkapnya tentang cara menentukan setelan build untuk image, lihat Panduan preferensi build image container.

Langkah selanjutnya

Dapatkan dukungan

Untuk mengirimkan masukan atau melaporkan masalah di IntelliJ IDE, buka Alat > Cloud Code > Bantuan / Tentang > Kirim masukan atau laporkan masalah untuk melaporkan masalah di GitHub, atau ajukan pertanyaan di Stack Overflow.