Prima di eseguire il deployment di un servizio in Cloud Run, puoi svilupparlo localmente utilizzando un emulatore Cloud Run.
Configurazione del servizio per lo sviluppo
Se non hai definito un file .vscode/launch.json, la finestra di dialogo
Esegui/Esegui il debug nell'emulatore di Cloud Run ti consente di configurare l'avvio e
poi salva le impostazioni in .vscode/launch.json. Se hai configurato un file
.vscode/launch.json, puoi modificarlo direttamente.
Per eseguire il servizio localmente, specifica la configurazione:
- Apri la tavolozza dei comandi (premi
Ctrl/Cmd+Shift+Po fai clic su Visualizza > Tavolozza comandi) e poi esegui il comando Esegui su Cloud Run Emulator. Nella finestra di dialogo Esegui/Esegui il debug nell'emulatore Cloud Run, imposta le specifiche per la configurazione:
- Per l'emulatore di Cloud Run sono disponibili solo gli strumenti di build installati localmente
- Scegli Docker o Buildpack come builder e poi specifica l'origine.
- (Facoltativo) Per specificare le variabili di ambiente da passare ai container in esecuzione, espandi Impostazioni di build avanzate e poi fai clic per specificare le coppie chiave-valore.
Nome Descrizione Esempio PORT La porta su cui il server HTTP deve rimanere in ascolto. 8080 K_SERVICE Il nome del servizio Cloud Run in esecuzione. hello-world K_REVISION Il nome della revisione Cloud Run in esecuzione. hello-world.1 K_CONFIGURATION Il nome della configurazione Cloud Run che ha creato la revisione. hello-world - (Facoltativo) Per specificare le connessioni Cloud SQL, espandi Impostazioni avanzate del servizio, fai clic su Connessioni e poi specifica una connessione Cloud SQL per riga.
- (Facoltativo) Seleziona l'opzione Rendi il servizio accessibile da altri dispositivi sulla rete locale.
- (Facoltativo) Se vuoi ricompilare ed eseguire il servizio manualmente, invece che automaticamente quando apporti una modifica, deseleziona l'opzione Ricompila ed esegui di nuovo automaticamente in caso di modifiche.
Esecuzione del servizio in locale
Dopo aver definito le impostazioni preferite, esegui il servizio facendo clic su Esegui.
Se richiesto, autentica le tue credenziali per eseguire e debugare un'applicazione in locale.
Monitora lo stato del deployment nella finestra di output.
Una volta completato il deployment, puoi visualizzare il servizio in esecuzione aprendo l'URL visualizzato nella finestra di output.
Per visualizzare i log dettagliati, passa alla visualizzazione dettagliata di Cloud Run nella finestra di output.

Al termine della sessione, fai clic con il tasto destro del mouse per utilizzare i seguenti comandi:
- Visualizza log:apri i log dell'applicazione di un deployment specifico con Esplora log di Cloud Code.
- Apri URL:apri l'URL del servizio dell'applicazione di un servizio specifico in un browser web.
Se hai disattivato la modalità di osservazione nella configurazione di avvio e vuoi apportare modifiche all'applicazione e ricompilarla ed eseguirne nuovamente il deployment, fai clic sulla barra di stato di Cloud Code, quindi fai clic su Attiva modalità di osservazione.
Per interrompere la distribuzione, puoi fare clic sul pulsante Interrompi nella barra delle azioni per la distribuzione corrente.

Archiviare i secret
Se il tuo codice include dati potenzialmente sensibili come chiavi API, password e certificati, archiviarli come secret può contribuire a proteggerli. L'integrazione di Cloud Code Secret Manager ti consente di archiviare in modo sicuro questi secret e recuperarli in modo programmatico. Per un'analisi dettagliata di come creare e gestire i secret con Cloud Code, consulta la guida di Secret Manager.
Personalizzazione di una configurazione launch.json esistente
Il plug-in Cloud Code aggiorna automaticamente il file di configurazione launch.json quando scegli un'azione di esecuzione. Per personalizzare ulteriormente la modalità di esecuzione del servizio, puoi specificare i seguenti campi nel file .vscode/launch.json:
watch: rileva le modifiche nello spazio di lavoro e riesegue il servizio. True per impostazione predefinita.
Il seguente esempio mostra l'orologio impostato su
true:"watch": true,build: specifica il builder (Docker, jibMaven, jibGradle o buildpacks) con cui creare le immagini.
Il seguente esempio mostra un builder Docker:
"build": { "docker": { "path": "Dockerfile" } },Il seguente esempio mostra un builder di buildpack:
"build": { "buildpacks": { "path": "src/requirements.txt", "builder": "gcr.io/buildpacks/builder:v1" } },image: specifica il nome dell'immagine da utilizzare.
Il seguente esempio mostra come specificare un nome di immagine:
"image": "hello-world",service: specifica il servizio Cloud Run da utilizzare.
Il seguente esempio mostra come specificare un nome di servizio, una porta e limiti delle risorse:
"service": { "name": "hello-world", "containerPort": 8080, "resources": { "limits": { "memory": "256Mi" } } },debug: specifica le impostazioni di debug, ad esempio la mappatura dei percorsi remoti, per mappare un percorso locale a un percorso sul container remoto.
Il seguente esempio mostra una sezione di debug che indica la posizione dei file sorgente:
"debug": { "sourceFileMap": { "${workspaceFolder}": "/app" } }