Sviluppare un servizio Cloud Run localmente in Cloud Code per Cloud Shell

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 in locale, specifica la configurazione:

  1. 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.
  2. Nella finestra di dialogo Esegui/Debug sull'emulatore Cloud Run, imposta la specifiche per la tua configurazione:

    • Per Cloud Run sono disponibili solo strumenti di build installati in locale Emulatore
    • Scegli Docker o Buildpack come builder, quindi 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 dei servizi, fai clic su Connessioni e specificane una Connessione Cloud SQL per riga.
    • (Facoltativo) Seleziona l'opzione Rendi 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

  1. Dopo aver definito le impostazioni preferite, esegui il servizio facendo clic su Esegui.

  2. 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.

  3. Per visualizzare i log dettagliati, passa alla visualizzazione dettagliata di Cloud Run nella finestra di output.

    Riquadro di output con hello-world-5 - Dettagliato selezionato dal menu a discesa del canale di output

  4. 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: consente di aprire l'URL del servizio delle applicazioni di uno specifico in un browser web.
  5. 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.

  6. Per arrestare il deployment, puoi fare clic sul pulsante Arresta nella barra delle azioni. per il tuo deployment attuale.

    Barra delle azioni per il deployment di Cloud Run

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. La L'integrazione di Cloud Code Secret Manager ti consente di archiviare 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 l'esecuzione del servizio, puoi specificare i seguenti campi nel 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 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 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"
      }
    }