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 l'ingegneria della piattaforma utilizzando la 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:

  • Clona un repository (puoi utilizzare il tuo o un'app demo come Spring Petclinic).
  • Installa e configura Gemini CLI e l'estensione CI/CD.
  • Utilizza un prompt come deploy my application per attivare l'abilità di deployment.
  • Guarda Gemini analizzare il progetto, suggerire Cloud Run, eseguire controlli di sicurezza ed eseguire il deployment dell'applicazione.
  • Verifica 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 precaricato con gli strumenti necessari.

  1. Fai clic su Attiva Cloud Shell nella parte superiore della console Google Cloud.
  2. Una volta connesso 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 riportate 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 questo comando 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 delle ADC. Esegui:
    gcloud auth login
    gcloud auth application-default login
    
  5. Imposta progetto e regione predefiniti: è utile configurare gcloud con un progetto e un progetto di quota predefiniti per ADC. Sostituisci con i tuoi 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
    

Chiedere 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 skill google-cicd-deploy ed eseguirà diverse azioni:

  • Analizza il progetto: identifica il tipo di applicazione (ad es. Spring Boot).
  • Suggerisci runtime: suggerisce un runtime adatto, ad esempio Google Cloud Run.
  • Scansione di sicurezza: esegue la scansione alla ricerca di segreti divulgati utilizzando gli strumenti MCP. Se richiesto, devi consentire l'esecuzione degli strumenti.
  • Estrai configurazione: utilizza gcloud per leggere l'ambiente del progetto attuale.
  • Proponi parametri: verranno presentati valori predefiniti ragionevoli per i parametri di deployment e ti verrà chiesto di confermarli.

Rivedi la configurazione proposta e conferma il deployment.

Una volta completata, Gemini ti fornirà l'URL della tua applicazione in esecuzione.

5. Esegui la pulizia

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

Se hai eseguito il deployment in Cloud Run, puoi eliminare il servizio utilizzando il seguente comando (sostituisci con la tua regione di Compute, ad esempio 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 l'estensione Gemini CLI e CI/CD per eseguire il deployment di un'applicazione in Google Cloud Run utilizzando prompt in linguaggio naturale.

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.
  • In che modo Gemini analizza il tuo progetto, gestisce le scansioni di sicurezza e suggerisce 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