Come eseguire Google Cloud Code in locale

Avatar
Lisa Ernst · 28.01.2026 · Technology · 9 min

Lo sviluppo di applicazioni cloud-native con Google Cloud Code può ottimizzare in modo significativo il tuo flusso di lavoro. Essendo profondamente coinvolto nelle strategie cloud-first, ho osservato le sfide comuni affrontate dagli sviluppatori nel passaggio tra ambienti locali e deployment cloud. La ricerca di efficienza e integrazione senza soluzione di continuità ci porta spesso a cercare strumenti in grado di colmare questa lacuna. Google Cloud Code si distingue come una soluzione potente, progettata per portare l'esperienza di sviluppo cloud direttamente nel tuo ambiente di sviluppo integrato (IDE).

Cloud Code è un'estensione completa che integra i servizi Google Cloud, come Google Kubernetes Engine (GKE) e Cloud Run, direttamente nel tuo IDE. Questa integrazione ti consente di creare, eseguire e sottoporre a debug applicazioni cloud-native all'interno del tuo ambiente di sviluppo familiare, eliminando efficacemente la necessità di continui cambi di contesto. Supporta l'intero ciclo di vita dello sviluppo, dalla creazione iniziale al monitoraggio continuo, fornendo feedback continuo in ogni fase. Cloud Code è disponibile per VS Code e IntelliJ ed è integrato per impostazione predefinita nell'editor di Cloud Shell. .

In sintesi: Cosa offre Cloud Code

Funzionalità di Cloud Code

Cloud Code offre una vasta gamma di funzionalità progettate per accelerare lo sviluppo di applicazioni cloud-native. Si integra con l'SDK di Google Cloud per un'autenticazione ottimizzata e include esempi eseguibili e frammenti preconfigurati per facilitare l'avvio del progetto. . Sebbene sia ottimizzato principalmente per Google Cloud, è abbastanza flessibile da funzionare con qualsiasi piattaforma cloud.

L'estensione semplifica la creazione di cluster Google Cloud e migliora l'integrazione di strumenti essenziali come Cloud Source Repositories, Cloud Build e Cloud Client Libraries. Per gli sviluppatori che lavorano con Kubernetes, Cloud Code supporta strumenti container da riga di comando standard come Minikube e kubectl. . Consente la creazione e l'esecuzione di nuove applicazioni GKE, nonché la modifica dei file YAML esistenti. Inoltre, il supporto dei moduli di Skaffold consente lo sviluppo e il debug indipendenti di singoli componenti dell'applicazione GKE.

Cloud Code ottimizza anche il flusso di lavoro di sviluppo per i servizi Cloud Run, semplificandone la creazione, l'implementazione e il monitoraggio. Un vantaggio fondamentale è la possibilità di creare e sottoporre a debug questi servizi in locale utilizzando l'emulatore Cloud Run integrato, il che può far risparmiare tempo di implementazione significativo. L'estensione supporta inoltre la migrazione delle applicazioni Linux in container attraverso la funzionalità container-diff integrata e supporta la creazione di immagini container pronte per la produzione direttamente dal codice sorgente utilizzando Google Cloud Buildpacks, il tutto senza la necessità di un Dockerfile.

La gestione dei dati sensibili è resa semplice dal supporto integrato di Cloud Code per Secret Manager. Attraverso una vista dedicata di Secret Manager, è possibile creare, visualizzare e aggiornare in modo sicuro informazioni sensibili come chiavi API e password. L'estensione include anche un Browser della libreria API per scoprire e attivare varie API Cloud, oltre a strumenti integrati per la gestione delle VM di Compute Engine e lo sviluppo di proxy API Apigee.

Elemento UI di Google Cloud Secret Manager. Questa immagine mostra un'illustrazione di Google Cloud Secret Manager, un servizio per l'archiviazione e la gestione sicura dei dati sensibili. Mostra un'interfaccia utente con opzioni per la creazione, la visualizzazione e l'aggiornamento dei segreti, sottolineando il suo ruolo nella protezione di chiavi API, password e altre credenziali.

Fonte: sethvargo.com

L'interfaccia di Secret Manager di Cloud Code offre una gestione sicura e centralizzata dei dati sensibili, come chiavi API e credenziali, direttamente nel tuo IDE.

Assistenza basata sull'IA

Cloud Code integra funzionalità di programmazione avanzate basate sull'IA tramite Gemini Code Assist Standard ed Enterprise. Questi strumenti intelligenti sono progettati per assisterti nella generazione di codice e nella risoluzione più efficiente dei problemi, ottimizzando significativamente il processo di sviluppo. È importante notare che Gemini Code Assist è un plugin separato da Cloud Code e richiede una connessione a Google Cloud e l'attivazione di autorizzazioni IAM specifiche per funzionare correttamente.

Esempio di generazione di codice di Gemini Code Assist. Questa immagine mostra un'interfaccia di input per Gemini Code Assist, dove un utente può inserire una richiesta di generazione di codice o risoluzione di problemi. L'interfaccia mostra il codice di esempio generato in base all'input dell'utente, evidenziando la capacità dell'IA di assistere nelle attività di programmazione.

Fonte: datacamp.com

Gemini Code Assist fornisce capacità di generazione di codice e risoluzione dei problemi basate sull'IA direttamente nel tuo ambiente di sviluppo, aumentando la produttività.

Cloud Code nell'Editor di Cloud Shell

L'Editor di Cloud Shell, un ambiente di sviluppo e operativo online accessibile direttamente tramite il browser, offre un'impostazione preconfigurata ottimizzata specificamente per Cloud Code. Questo ambiente è dotato di utilità preinstallate, come lo strumento a riga di comando gcloud e kubectl, rendendolo ideale per lo sviluppo, la creazione, il debug e l'implementazione di applicazioni basate sul cloud senza la necessità di ulteriori configurazioni.

Terminale di Cloud Shell

Cloud Shell offre due strumenti principali: il Terminale di Cloud Shell e l'Editor di Cloud Shell. Il Terminale fornisce una shell completamente funzionale, basata sul cloud, in esecuzione su una macchina Linux basata su Debian specifica per sessione. Include l'SDK di Google Cloud e strumenti essenziali per gli sviluppatori come git, kubectl, kubectx, curl, python3 e tmux. La tua directory $HOME in Cloud Shell persiste tra le sessioni, poiché è archiviata in Cloud Storage. Puoi avviare comodamente Cloud Shell da console.cloud.google.com, dove il tuo ID progetto GCP viene rilevato automaticamente. Cloud Shell supporta più schede e finestre e il tmux integrato garantisce la persistenza della sessione. Inoltre, il port forwarding automatico è disponibile tramite i meccanismi di controllo dell'Anteprima Web, semplificando l'accesso alle applicazioni in esecuzione.

Editor di Cloud Shell

L'Editor di Cloud Shell è costruito sul progetto open-source Eclipse Theia project, , che fornisce un'esperienza utente simile a VS Code. Puoi accedervi dalla riga di comando (cloudshell edit), tramite il menu di Cloud Shell o direttamente tramite l'URL ide.cloud.google.com. L'editor dispone di un terminale integrato e consente una personalizzazione completa delle sue impostazioni. Per casi d'uso avanzati, puoi creare immagini container personalizzate di Cloud Shell per distribuire un'istanza completamente specifica per la sessione con pacchetti aggiuntivi, definendo tali immagini utilizzando un cloudshell.yaml. Dockerfile. Queste immagini personalizzate possono essere create, testate in locale e quindi sottoposte a push in un Cloud Source Repository e in un Container Registry. Per una flessibilità ancora maggiore, è possibile l'accesso SSH remoto a Cloud Shell dalla macchina locale e la directory home può essere montata localmente.

Sviluppo locale con Cloud Code

Cloud Code è progettato per supportare vari ambienti di sviluppo locali. Ti consente di integrare cluster da altri provider cloud nella tua KubeConfig e funziona perfettamente con Docker Desktop per i cluster locali. Per un corretto funzionamento, il tuo file predefinito ~/.kube/config deve includere il cluster locale, che deve anche essere impostato come contesto corrente.

Sviluppo e implementazione di applicazioni locali

Quando crei un'applicazione da un modello in Cloud Code, selezioni il tipo di applicazione (ad esempio, applicazione Kubernetes) e la tua lingua di programmazione preferita. Le applicazioni di esempio in genere seguono una struttura simile, con le configurazioni archiviate in .vscode e le specifiche dei pod in kubernetes-manifests. È fondamentale utilizzare un cluster non di produzione per scopi di sviluppo e test. Prima dell'esecuzione, assicurati che il contesto Kubernetes sia impostato correttamente. La configurazione di esecuzione Cloud Code: Develop on Kubernetes fornisce opzioni per personalizzare il tuo deployment.

Integrazione con Minikube

Cloud Code offre una solida integrazione con Minikube. Puoi avviare facilmente cluster Minikube, eseguire le tue applicazioni su di essi e rivedere i dettagli di deployment all'interno delle sessioni di sviluppo. Gli URL di port forward consentono un comodo accesso al browser alla tua applicazione in esecuzione. Per il debug interattivo, un terminale interattivo in un container può essere aperto direttamente tramite l'Explorer delle sessioni di sviluppo. I cluster Minikube possono anche essere sospesi o arrestati quando necessario.

Debugging e logging

Il debugging è una funzionalità fondamentale di Cloud Code, che ti consente di impostare punti di interruzione nel tuo codice per controllare efficacemente le sessioni di debug. Il logging in tempo reale dei pod in esecuzione è disponibile e viene visualizzato nell'output del terminale o tramite l'Explorer di Kubernetes, fornendo informazioni immediate sul comportamento della tua applicazione. Per evitare costi inutili, ricorda di eliminare le risorse nella Google Cloud Console una volta completato lo sviluppo o il test.

Sviluppo di Cloud Functions

Per lo sviluppo di Cloud Functions, Functions Framework può essere installato ed eseguito in locale. Puoi scaricare il codice sorgente di una funzione implementata da Google Cloud e installare le dipendenze locali nella cartella locale della funzione. Functions Framework viene eseguito utilizzando comandi come npx functions-framework --target=entryPoint per Node.js o functions-framework --target=entryPoint per Python. L'entryPoint per la tua funzione si trova nel file launch.json.

Test locale dei servizi Cloud Run

I servizi Cloud Run possono anche essere testati in locale utilizzando Docker o Docker con Google Cloud Access. La variabile d'ambiente PORT viene utilizzata per specificare la porta tramite la quale l'applicazione riceve richieste HTTP/HTTPS. Quando si esegue in locale con Docker, è necessario un account di servizio con una coppia di chiavi, poiché l'account di servizio predefinito non è disponibile in questo contesto. Le librerie client di Google Cloud possono essere configurate per autenticarsi ai servizi Google Cloud all'interno del tuo container locale. Lo strumento a riga di comando gcloud beta code dev fornisce un modo conveniente per emulare Cloud Run, creando container dal codice sorgente e ricostruendoli automaticamente in caso di modifiche.

Domande frequenti (FAQ) sullo sviluppo locale con Cloud Code

Ecco alcune domande e risposte comuni sullo sviluppo locale con Google Cloud Code:

  1. Quali IDE supporta Cloud Code?

    Cloud Code è disponibile per VS Code e IntelliJ ed è integrato per impostazione predefinita nell'Editor di Cloud Shell.

  2. Posso utilizzare Cloud Code con altri provider cloud?

    Sebbene ottimizzato per Google Cloud, Cloud Code può funzionare con qualsiasi piattaforma cloud. Supporta l'aggiunta di cluster di altri provider alla tua KubeConfig.

  3. Ho bisogno di Docker per lo sviluppo locale di Cloud Run?

    Sì, i servizi Cloud Run possono essere testati in locale utilizzando Docker o Docker con Google Cloud Access. Potrebbe essere necessario un account di servizio con una coppia di chiavi per l'autenticazione.

  4. Come si esegue il debug delle applicazioni in esecuzione su Kubernetes con Cloud Code?

    Cloud Code ti consente di impostare punti di interruzione nel tuo codice e visualizzare i log in tempo reale dei pod in esecuzione direttamente nel tuo IDE o tramite l'Explorer di Kubernetes.

  5. Gemini Code Assist è abilitato automaticamente con Cloud Code?

    No, Gemini Code Assist è un plugin separato che richiede una connessione a Google Cloud e l'attivazione delle autorizzazioni IAM per funzionare.

Conclusione

Google Cloud Code ottimizza significativamente il processo di sviluppo di applicazioni cloud-native all'interno di un IDE. Integrando perfettamente i servizi Google Cloud, l'assistenza basata sull'IA e robuste capacità di sviluppo e debug locali, mira ad aumentare la produttività degli sviluppatori e a ridurre l'attrito spesso associato ai deployment cloud. Sfruttare Cloud Code può portare a un'esperienza di sviluppo più efficiente e piacevole, consentendoti di concentrarti maggiormente sull'innovazione e meno sulle complessità dell'ambiente.

Fonte: YouTube

Condividi il nostro articolo!
FONTI