Gemini CLI ve CI/CD becerileriyle uygulama dağıtma

1. Giriş

Bu codelab'de, Gemini CLI ve CI/CD uzantısını kullanarak platform mühendisliği için "sıfırdan zirveye" iş akışını deneyimleyeceksiniz. Bir uygulama (ör. Spring Petclinic demosu veya Python Flask uygulaması) oluşturmuş ve şimdi paylaşmak için Google Cloud'a dağıtmak isteyen bir kurumsal geliştirici rolünü üstleneceksiniz.

Karmaşık işlem hatlarını manuel olarak yapılandırmak yerine Gemini'a rehberlik etmek için doğal dil kullanırsınız. Ajan, projenizi analiz eder, Google Cloud Run gibi küçük ölçekli hedef çalışma zamanları önerir, sızdırılmış gizli diziler için güvenlik taramaları yapar ve dağıtımı gerçekleştirerek size çalışan bir URL sağlar.

Yapacaklarınız

  • Bir depoyu klonlayın (kendi deponuzu veya Spring Petclinic gibi bir demo uygulamasını kullanabilirsiniz).
  • Gemini CLI ve CI/CD uzantısını yükleyip yapılandırın.
  • Dağıtım becerisini tetiklemek için deploy my application gibi bir istem kullanın.
  • Gemini'ın projeyi analiz etmesini, Cloud Run'ı önermesini, güvenlik kontrollerini çalıştırmasını ve uygulamayı dağıtmasını izleyin.
  • Çalışan uygulamayı doğrulayın.

İhtiyacınız olanlar

  • Chrome gibi bir web tarayıcısı
  • Faturalandırmanın etkin olduğu bir Google Cloud projesi.

Bu codelab, yeni başlayanlar da dahil olmak üzere her seviyeden geliştiriciye yöneliktir.

2. Başlamadan önce

Faturalandırma Kurulumu

Google Cloud projesi oluşturma veya seçme

Google Cloud projesi oluşturma

  1. Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.
  2. Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını kontrol etmeyi öğrenin.

Cloud Shell'i Başlatma

Cloud Shell, Google Cloud'da çalışan ve gerekli araçların önceden yüklendiği bir komut satırı ortamıdır.

  1. Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir'i tıklayın.
  2. Cloud Shell'e bağlandıktan sonra kimlik doğrulamanızı onaylayın:
    gcloud auth list
    
  3. Projenizin yapılandırıldığını onaylayın:
    gcloud config get project
    
  4. Projeniz beklendiği gibi ayarlanmamışsa şu şekilde ayarlayın:
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

API'leri etkinleştir

Bu laboratuvar için gerekli tüm API'leri etkinleştirmek üzere Cloud Shell'de şu komutu çalıştırın:

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

3. Gemini CLI'yı kurma

Bu adımda, Gemini CLI ve CI/CD uzantısını yükleyip yapılandıracaksınız.

  1. Gemini KSA'nın yüklendiğinden emin olun. Henüz yüklemediyseniz Gemini CLI'yı Kullanmaya Başlama Kılavuzu'ndaki talimatları uygulayın.
  2. Oturum açma: Google Hesabınızla oturum açmanızı öneririz. Ayrıntılar için Kimlik Doğrulama Kılavuzu'na bakın.
  3. CI/CD uzantısını yükleyin: Uzantıyı GitHub'dan yüklemek için aşağıdaki komutu çalıştırın:
    gemini extensions install https://github.com/gemini-cli-extensions/cicd
    
    Yüklü uzantıları listeleyerek uzantı kurulumunu doğrulayabilirsiniz:
    gemini extensions list
    
  4. Uygulama Varsayılan Kimlik Bilgileri'ni (ADC) yapılandırma: CI/CD uzantısının yapılandırılması için ADC gereklidir. Koşu:
    gcloud auth login
    gcloud auth application-default login
    
  5. Varsayılan proje ve bölgeyi ayarlayın: gcloud'ı varsayılan proje ve ADC için kota projesiyle yapılandırmak faydalıdır. yerine gerçek değerlerinizi (ör. my-project) girin:
    gcloud config set project <PROJECT_ID>
    gcloud auth application-default set-quota-project <PROJECT_ID>
    

4. Uygulamayı dağıtma

Artık uygulamayı dağıtmak için Gemini CLI ve CI/CD uzantısını kullanmaya hazırsınız.

Depoyu klonlama

Bu laboratuvarda, popüler Spring Petclinic örnek uygulamasını kullanacağız. Desteklenen bir çalışma zamanı (ör. Python/Flask, Java/Spring Boot vb.) kullanan hazır bir uygulamanız varsa onu da kullanabilirsiniz.

  1. Depoyu klonlayın ve dizine gidin:
    git clone https://github.com/spring-projects/spring-petclinic.git
    cd spring-petclinic
    

Gemini'dan dağıtım yapmasını isteme

  1. Gemini CLI'yı proje dizininden başlatın:
    gemini
    
  2. Gemini CLI kabuğuna girdikten sonra uygulamanızı dağıtmak için CI/CD uzantısını kullanın. Basit bir doğal dil istemi kullanabilirsiniz:
    deploy my application
    

Sonraki adım

Gemini, google-cicd-deploy becerisini etkinleştirir ve çeşitli işlemler gerçekleştirir:

  • Projeyi analiz etme: Uygulama türünü (ör. Spring Boot) belirler.
  • Çalışma zamanı öner: Google Cloud Run gibi uygun bir çalışma zamanı önerir.
  • Güvenlik Taraması: MCP araçlarını kullanarak sızdırılmış gizli bilgileri tarar. İstenirse araçların çalışmasına izin vermelisiniz.
  • Yapılandırmayı ayıklama: Geçerli proje ortamınızı okumak için gcloud kullanılır.
  • Parametre önerme: Dağıtım parametreleri için makul varsayılan değerler sunar ve onayınızı ister.

Önerilen yapılandırmayı inceleyin ve dağıtımı onaylayın.

İşlem tamamlandığında Gemini, çalışan uygulamanızın URL'sini sağlar.

5. Temizleme

Google Cloud hesabınızın sürekli olarak ücretlendirilmesini önlemek için bu codelab sırasında oluşturulan kaynakları silin.

Cloud Run'a dağıtım yaptıysanız aşağıdaki komutu kullanarak hizmeti silebilirsiniz ( yerine işlem bölgenizi, örneğin us-central1 yazın):

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

Alternatif olarak, bu codelab için özel bir proje oluşturduysanız projenin tamamını silebilirsiniz:

gcloud projects delete <YOUR_PROJECT_ID>

6. Tebrikler

Tebrikler! Doğal dil istemlerini kullanarak Google Cloud Run'a uygulama dağıtmak için Gemini CLI ve CI/CD uzantısını başarıyla kullandınız.

Öğrendikleriniz

  • Gemini CLI ve CI/CD uzantısını yükleme ve yapılandırma
  • Dağıtım akışını tetiklemek için doğal dili kullanma
  • Gemini'ın projenizi nasıl analiz ettiği, güvenlik taramalarını nasıl gerçekleştirdiği ve çalışma zamanlarını nasıl önerdiği.

Sonraki adımlar

  • CI/CD uzantısıyla daha gelişmiş istemleri (ör. tam ardışık düzenler tasarlama veya Terraform oluşturma) keşfedin.
  • CI/CD uzantısına göz atın.
  • Developer Connect hakkında daha fazla bilgi edinin.

Referans belgeleri