Esegui il deployment di un'applicazione con Gemini CLI e le competenze CI/CD

1. Introduzione

In questo codelab, sperimenterai il workflow "zero-to-hero" per la piattaforma di engineering utilizzando Gemini CLI e l'estensione CI/CD. Assumerai il ruolo di uno sviluppatore aziendale che ha creato un'applicazione (come la demo Spring Petclinic o un'app Python Flask) e ora vuole eseguirne il deployment su Google Cloud per condividerla.

Anziché configurare manualmente pipeline complesse, utilizzerai il linguaggio naturale per guidare Gemini. L'agente analizzerà il tuo progetto, suggerirà runtime di destinazione su piccola scala come Google Cloud Run, eseguirà scansioni di sicurezza per i secret trapelati e gestirà il deployment, fornendoti un URL funzionante.

In questo lab proverai a:

  • Clonare un repository (puoi utilizzare il tuo o un'app demo come Spring Petclinic).
  • Installare e configurare Gemini CLI e l'estensione CI/CD.
  • Utilizzare un prompt come deploy my application per attivare la funzionalità di deployment.
  • Osservare Gemini che analizza il progetto, suggerisce Cloud Run, esegue controlli di sicurezza ed esegue il deployment dell'applicazione.
  • Verificare l'applicazione in esecuzione.

Che cosa ti serve

  • Un browser web come Chrome.
  • Un progetto Google Cloud con la fatturazione abilitata.

Questo codelab è rivolto a sviluppatori di tutti i livelli, inclusi i principianti.

2. Prima di iniziare

Configurazione della fatturazione

Crea o seleziona un progetto Google Cloud

Crea un progetto Google Cloud

  1. Nella console Google Cloud, nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud.
  2. Verifica che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.

Avvia Cloud Shell

Cloud Shell è un ambiente a riga di comando in esecuzione in Google Cloud che viene fornito con gli strumenti necessari precaricati.

  1. Fai clic su Attiva Cloud Shell nella parte superiore della console Google Cloud.
  2. Una volta eseguita la connessione a Cloud Shell, verifica l'autenticazione:
    gcloud auth list
    
  3. Verifica che il progetto sia configurato:
    gcloud config get project
    
  4. Se il progetto non è impostato come previsto, impostalo:
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

Abilita API

Esegui questo comando in Cloud Shell per abilitare tutte le API richieste per questo lab:

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

3. Configura Gemini CLI

In questo passaggio, installerai e configurerai Gemini CLI e l'estensione CI/CD.

  1. Assicurati che Gemini CLI sia installata. Se non l'hai ancora installata, segui le istruzioni nella Guida introduttiva a Gemini CLI.
  2. Accedi: ti consigliamo di accedere con il tuo Account Google. Per maggiori dettagli, consulta la Guida all'autenticazione.
  3. Installa l'estensione CI/CD: esegui il comando seguente per installare l'estensione da GitHub:
    gemini extensions install https://github.com/gemini-cli-extensions/cicd
    
    Puoi convalidare l'installazione dell'estensione elencando le estensioni installate:
    gemini extensions list
    
  4. Configura le Credenziali predefinite dell'applicazione (ADC): l'estensione CI/CD richiede la configurazione di ADC. Esegui:
    gcloud auth login
    gcloud auth application-default login
    
  5. Imposta il progetto e la regione predefiniti: è utile aver configurato gcloud con un progetto predefinito e un progetto di quota per ADC. Sostituisci con i valori effettivi (ad es. my-project):
    gcloud config set project <PROJECT_ID>
    gcloud auth application-default set-quota-project <PROJECT_ID>
    

4. Esegui il deployment dell'applicazione

Ora puoi utilizzare Gemini CLI e l'estensione CI/CD per eseguire il deployment dell'applicazione.

Clona il repository

In questo lab utilizzeremo l'applicazione di esempio Spring Petclinic. Puoi anche utilizzare la tua applicazione, se ne hai una pronta che utilizza un runtime supportato (come Python/Flask, Java/Spring Boot e così via).

  1. Clona il repository e vai alla directory:
    git clone https://github.com/spring-projects/spring-petclinic.git
    cd spring-petclinic
    

Chiedi a Gemini di eseguire il deployment

  1. Avvia Gemini CLI dalla directory del progetto:
    gemini
    
  2. Una volta all'interno della shell Gemini CLI, utilizza l'estensione CI/CD per eseguire il deployment dell'applicazione. Puoi utilizzare un semplice prompt in linguaggio naturale:
    deploy my application
    

Che cosa succede dopo

Gemini attiverà la funzionalità google-cicd-deploy ed eseguirà diverse azioni:

  • Analizza il progetto: identificherà il tipo di applicazione (ad es. Spring Boot).
  • Suggerisci runtime: suggerirà un runtime adatto, ad esempio Google Cloud Run.
  • Scansione di sicurezza: eseguirà la scansione per i secret trapelati utilizzando gli strumenti MCP. Se richiesto, devi consentire l'esecuzione degli strumenti.
  • Estrai configurazione: utilizzerà gcloud per leggere l'ambiente del progetto corrente.
  • Proponi parametri: presenterà valori predefiniti ragionevoli per i parametri di deployment e ti chiederà di confermare.

Esamina la configurazione proposta e conferma il deployment.

Al termine, Gemini ti fornirà l'URL dell'applicazione in esecuzione.

5. Libera spazio

Per evitare addebiti continui sul tuo account Google Cloud, elimina le risorse create durante questo codelab.

Se hai eseguito il deployment su Cloud Run, puoi eliminare il servizio utilizzando il seguente comando (sostituisci con la regione di Compute, ad es. us-central1):

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

In alternativa, se hai creato un progetto dedicato per questo codelab, puoi eliminare l'intero progetto:

gcloud projects delete <YOUR_PROJECT_ID>

6. Complimenti

Complimenti! Hai utilizzato correttamente Gemini CLI e l'estensione CI/CD per eseguire il deployment di un'applicazione su Google Cloud Run utilizzando prompt in linguaggio naturale.

Che cosa hai imparato

  • Come installare e configurare Gemini CLI e l'estensione CI/CD.
  • Come utilizzare il linguaggio naturale per attivare un flusso di deployment.
  • Come Gemini analizza il tuo progetto, gestisce le scansioni di sicurezza e suggerisce i runtime.

Passaggi successivi

  • Esplora prompt più avanzati con l'estensione CI/CD, ad esempio la progettazione di pipeline complete o la generazione di Terraform.
  • Dai un'occhiata all'estensione CI/CD.
  • Scopri di più su Developer Connect.

Documenti di riferimento