Prima di eseguire il deployment di un servizio in Cloud Run, puoi svilupparlo in locale usando 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 disponi di un
.vscode/launch.json
file configurato, 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 dei comandi), quindi esegui il comando Esegui su Cloud Run Emulator. Nella finestra di dialogo Esegui/Debug sull'emulatore Cloud Run, imposta la specifiche per la tua configurazione:
- Per l'emulatore Cloud Run sono disponibili solo gli strumenti di compilazione installati in locale
- Scegli Docker o Buildpacks come builder e 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 PORTA 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. ciao-mondo.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) Controlla la Rendere il servizio accessibile da altri dispositivi sulla rete locale .
- (Facoltativo) Se vuoi ricreare ed eseguire il servizio solo manualmente, invece di eseguire automaticamente una modifica, cancella Opzione Ricrea ed esegui automaticamente alle modifiche.
Esecuzione del servizio in locale
Dopo aver definito le impostazioni preferite, esegui il servizio facendo clic su Esegui.
Se richiesto, autentica le credenziali per eseguire ed eseguire il debug di un dell'applicazione in locale.
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 i 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 arrestare il deployment, puoi fare clic sul pulsante Arresta nella barra delle azioni. per il tuo deployment attuale.
Archiviare i secret
Se il codice include dati potenzialmente sensibili come chiavi API, password e i certificati, l'archiviazione 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 uno sguardo dettagliato su come puoi creare e gestire i secret con Cloud Code, vedi nella 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 il modo in cui
quando un servizio viene eseguito, puoi specificare i seguenti campi
File .vscode/launch.json
:
watch: controlla le modifiche nell'area di lavoro ed esegue le repliche il servizio. True per impostazione predefinita.
L'esempio seguente mostra l'orologio impostato su
true
:"watch": true,
build: specifica il builder (Docker, jibMaven, jibGradle oppure buildpack) con cui creare le tue immagini.
L'esempio seguente mostra un builder Docker:
"build": { "docker": { "path": "Dockerfile" } },
L'esempio seguente mostra un builder 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 un nome di 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 i file di origine località:
"debug": { "sourceFileMap": { "${workspaceFolder}": "/app" } }