Esegui il deployment di Cloud Functions con il controllo della versione

Questa pagina mostra come eseguire il deployment di Cloud Functions utilizzando un codice con controllo della versione in Cloud Source Repositories.

Integrando Cloud Functions con Cloud Source Repositories, puoi utilizzare Cloud Source Repositories per controllare la versione del codice che contiene la tua funzione. Man mano che la funzione cambia nel tempo, puoi continuare ad accedere ai commit precedenti per vedere come è cambiata la funzione e quando.

Prima di iniziare

  1. Completa i passaggi descritti in Creare un repository di codice in Cloud Source Repositories.
  2. Abilitare l'API Cloud Functions e l'API Cloud Build.
  3. Abilita le API Cloud Functions e Cloud Build

Aggiungi una funzione al repository

  1. Nella macchina locale, vai alla directory radice del repository hello-world:

    cd hello-world
    
  2. Sul tuo sistema locale, crea una directory per il codice della funzione.

    Linux o macOS

    Crea la directory:

    mkdir gcf_hello_world

    Sposta nella directory:

    cd gcf_hello_world

    Windows(CMD)

    Crea la directory:

    mkdir %HOMEDRIVE%%HOMEPATH%\gcf_hello_world

    Sposta nella directory:

    cd %HOMEDRIVE%%HOMEPATH%\gcf_hello_world
  3. Nella directory gcf_hello_world, crea un file index.js con il seguente contenuto:

    /* HTTP Cloud Function.
    *
    * @param {Object} req Cloud Function request context.
    * @param {Object} res Cloud Function response context.
    */
    exports.helloGET = (req, res) => {
      res.send('Hello from Cloud Functions and Cloud Source Repositories');
    };
    

    Questa è una semplice funzione denominata helloGET che risponde alle richieste GET HTTP con il testo Hello from Cloud Functions and Cloud Source Repositories.

Esegui il push in Cloud Source Repositories

Esegui il push dei file appena creati in Cloud Source Repositories.

  1. Aggiungi i file:

    git add .
    
  2. Esegui il commit dei file con un commento che descriva la cronologia di questa azione:

    git commit -m "Add Cloud Functions test to Cloud Source Repositories"
    
  1. Utilizzando il comando git push, aggiungi i contenuti del repository Git locale a Cloud Source Repositories:

    git push origin master
    

Crea ed esegui il deployment della funzione

Utilizza la console Google Cloud o Google Cloud CLI per creare la tua funzione ed eseguirne il deployment.

Console

  1. Vai alla pagina Cloud Functions.

    Vai alla pagina Cloud Functions

    Assicurati che sia selezionato il progetto Google Cloud per cui hai abilitato Cloud Functions.

  2. Fai clic su Crea funzione.

  3. Nella pagina Crea funzione, compila le seguenti opzioni:

    • Nel campo Ambiente, seleziona 1a generazione.
    • Nel campo Nome funzione, digita cloud-source-repositories-test.
    • Nel campo Regione, seleziona us-central1.
    • Nell'elenco Trigger, seleziona HTTP.
    • Nell'elenco Autenticazione, seleziona Richiedi autenticazione.
    • Assicurati che l'opzione Richiedi HTTPS sia selezionata.
  4. Fai clic su Salva.

  5. Tocca Avanti.

    • Nel campo Runtime, seleziona Node.js 16.
    • Nel campo Punto di ingresso, inserisci helloGET.
    • Nell'elenco Codice sorgente, seleziona Repository di codice sorgente cloud.
    • Nel campo Repository, digita hello-world.
    • Nel campo Nome ramo, digita master.
    • Nel campo Directory con codice sorgente, digita /gcf_hello_world.
  6. Fai clic su Esegui il deployment.

Durante l'esecuzione del deployment, accanto alla funzione viene visualizzata una rotellina. Al termine del deployment, la rotellina diventa un segno di spunta verde.

Interfaccia a riga di comando gcloud

  1. In una finestra del terminale, imposta una variabile contenente il tuo ID progetto Google Cloud. Assicurati che sia lo stesso progetto Google Cloud che contiene il repository.

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. Esegui il deployment della funzione:

    gcloud functions deploy helloGET \
    --source https://source.developers.google.com/projects/$PROJECT_ID/repos/hello-world/moveable-aliases/master/paths/gcf_hello_world \
    --trigger-http \
    --runtime=nodejs8;
    

Per ulteriori informazioni sul deployment in Cloud Source Repositories, consulta Eseguire il deployment dal controllo del codice sorgente.

testa la funzione

Testa la nuova funzione utilizzando la console Google Cloud o gcloud CLI.

Console

  1. Vai alla pagina Panoramica di Cloud Functions.

    Vai alla pagina Panoramica

    Assicurati che sia selezionato il progetto Google Cloud per il quale hai abilitato Cloud Functions.

  2. Fai clic sul menu Mostra azioni nella riga della funzione cloud-source-repositories-test.

  3. Fai clic su Esegui test funzione.

  4. Fai clic sul pulsante Testa la funzione.

    Dopo uno o due minuti, il campo Output si aggiorna e mostra il messaggio Hello from Cloud Functions and Cloud Source Repositories.

Interfaccia a riga di comando gcloud

In una finestra del terminale, inserisci il seguente comando:

gcloud functions call helloGET

Viene visualizzato un output simile al seguente:

executionId: owqd9fdh5od2
result: Hello from Cloud Functions and Cloud Source Repositories

Esegui la pulizia

Per eliminare la funzione e il repository che hai creato, segui questi passaggi.

Elimina la funzione

  1. Vai alla pagina Panoramica di Cloud Functions.

    Vai alla pagina Panoramica

    Assicurati che sia selezionato il progetto Google Cloud per il quale hai abilitato Cloud Functions.

  2. Seleziona la funzione helloGET per questa guida rapida, cloud-source-repositories-test.

  3. Nella stessa riga, fai clic su Altro e poi su Elimina.

Elimina il repository

  1. Nella console Google Cloud, apri la pagina Tutti i repository per Cloud Source Repositories.

    Repository Open Cloud Source

  2. Tieni il puntatore sul repository che vuoi eliminare e fai clic su Impostazioni .

    Si apre la pagina Impostazioni generali.

  3. Fai clic su Elimina questo repository .

    Viene visualizzata la finestra di dialogo Rimuovi repository.

  4. Digita il nome del repository che vuoi eliminare.

  5. Fai clic su Elimina.

Passaggi successivi