Guida rapida: deployment di Cloud Functions con il controllo della versione

Esegui il deployment di Cloud Functions con il controllo della versione

Questa pagina mostra come eseguire il deployment di Cloud Functions utilizzando il codice controllato nella 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 e quando la funzione è cambiata.

Prima di iniziare

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

Aggiungi una funzione al repository

  1. Sul computer 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

    Spostarsi nella directory:

    cd gcf_hello_world

    Windows(CMD)

    Crea la directory:

    mkdir %HOMEDRIVE%%HOMEPATH%\gcf_hello_world

    Spostarsi 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 HTTP GET con il testo Hello from Cloud Functions and Cloud Source Repositories.

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 descrive 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 la funzione ed eseguine il deployment

Utilizzando la console Google Cloud o Google Cloud CLI, crea ed esegui il deployment della funzione.

Console

  1. Vai alla pagina Cloud Functions.

    Vai alla pagina Cloud Functions

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

  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 Next (Avanti).

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

Durante il deployment della funzione viene visualizzata una piccola rotellina accanto alla stessa. Al termine del deployment, la rotellina diventerà un segno di spunta verde.

Interfaccia a riga di comando gcloud

  1. In una finestra del terminale, imposta una variabile che contiene l'ID del progetto Google Cloud. Assicurati che questo sia lo stesso progetto Google Cloud che contiene il tuo 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 saperne di più sul deployment in Cloud Source Repositories, consulta la pagina relativa al deployment dal controllo del codice sorgente.

Testa la funzione

Utilizza la console di GCP o l'interfaccia a riga di comando gcloud e testa la nuova funzione.

Console

  1. Vai alla pagina Panoramica di Cloud Functions.

    Vai alla pagina Panoramica

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

  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 viene aggiornato per visualizzare 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 creati, segui questi passaggi.

Elimina la funzione

  1. Vai alla pagina Panoramica di Cloud Functions.

    Vai alla pagina Panoramica

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

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

  3. Nella stessa riga, fai clic su Altro , quindi su Elimina.

Elimina il repository

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

    Cloud Source Repositories

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

    Viene visualizzata 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