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 il lancio 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
+P
o fai clic su Visualizza > Tavolozza comandi) e poi esegui il comando Esegui nell'emulatore Cloud Run. Nella finestra di dialogo Esegui/Esegui il debug nell'emulatore Cloud Run, imposta le specifiche per la configurazione:
- Per l'emulatore Cloud Run sono disponibili solo gli strumenti di compilazione installati in locale
- Scegli Docker o Buildpack come builder e poi specifica la fonte
- (Facoltativo) Per specificare eventuali variabili di ambiente da passare ai contenitori in esecuzione, espandi Impostazioni di compilazione avanzate e 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 ricostruire ed eseguire il servizio solo manualmente, invece che automaticamente quando apporti una modifica, deseleziona l'opzione Ricompila e riavvia automaticamente in caso di modifiche.
Eseguire il servizio in locale
Dopo aver definito le impostazioni che preferisci, esegui il servizio facendo clic su Esegui.
Se richiesto, autentica le tue credenziali per eseguire e eseguire il debug di un'applicazione.
Monitora lo stato del deployment nella finestra di output.
Al termine del 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 di applicazione di un servizio specifico in un browser web.
Se hai disattivato la modalità di visualizzazione nella configurazione di lancio e vuoi apportare modifiche all'applicazione, ricrearla ed eseguire nuovamente il deployment, fai clic sulla barra di stato di Cloud Code e poi su Attiva la modalità di visualizzazione.
Per interrompere il deployment, puoi fare clic sul pulsante Interrompi nella barra delle azioni per il deployment corrente.
Archiviare i secret
Se il codice include dati potenzialmente sensibili come chiavi API, password e certificati, archiviarli come secret può contribuire a proteggerli. L'integrazione di Secret Manager con Cloud Code ti consente di archiviare in modo sicuro questi secret e recuperarli in modo programmatico. Per un'analisi dettagliata di come puoi 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 l'esecuzione del servizio, puoi specificare i seguenti campi nel file .vscode/launch.json
:
watch: rileva le modifiche nell'area di lavoro e esegue nuovamente il servizio. True per impostazione predefinita.
L'esempio seguente mostra l'orologio impostato su
true
:"watch": true,
build: specifica il compilatore (Docker, jibMaven, jibGradle o buildpacks) con cui creare le immagini.
L'esempio seguente mostra un builder Docker:
"build": { "docker": { "path": "Dockerfile" } },
L'esempio seguente mostra un generatore di buildpack:
"build": { "buildpacks": { "path": "src/requirements.txt", "builder": "gcr.io/buildpacks/builder:v1" } },
image: specifica il nome dell'immagine da utilizzare.
L'esempio seguente mostra come specificare il nome di un'immagine:
"image": "hello-world",
service: specifica il servizio Cloud Run da utilizzare.
L'esempio seguente mostra come specificare un nome, una porta e limiti di risorse del servizio:
"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 nel contenitore remoto.
L'esempio seguente mostra una sezione di debug che indica la posizione dei file di origine:
"debug": { "sourceFileMap": { "${workspaceFolder}": "/app" } }