Guía de inicio rápido para implementar Cloud Functions desde Cloud Source Repositories

En este tema, se describe cómo implementar Cloud Functions mediante código con control de versiones en Cloud Source Repositories.

La integración de Cloud Functions en Cloud Source Repositories te permite usar el control de versiones con el código que contiene la función en Cloud Source Repositories. Incluso cuando la función se vaya modificando con el tiempo, tendrás acceso a las confirmaciones anteriores para ver cómo y cuándo cambió.

Antes de comenzar

  1. Completa los pasos de la guía de inicio rápido para crear un repositorio.
  2. Habilita la API de Cloud Functions.
  3. Habilitar la API de Cloud Functions

Agrega una función al repositorio

  1. En tu máquina local, ve al directorio raíz del repositorio hello-world:

    cd hello-world
    
  2. En tu sistema local, crea un directorio para el código de la función.

    Linux o macOS

    Crea el directorio:

    mkdir gcf_hello_world

    Mueve al directorio:

    cd gcf_hello_world

    Windows (CMD)

    Crea el directorio:

    mkdir %HOMEDRIVE%%HOMEPATH%\gcf_hello_world

    Ingresa al directorio:

    cd %HOMEDRIVE%%HOMEPATH%\gcf_hello_world
  3. En el directorio gcf_hello_world, crea un archivo index.js con el siguiente contenido:

    /* 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');
    };
    

    Esta es una función simple llamada helloGET que responde a solicitudes HTTP GET con el texto Hello from Cloud Functions and Cloud Source Repositories.

Envía a Cloud Source Repositories

Envía los archivos que acabas de crear a Cloud Source Repositories.

  1. Agrega los siguientes archivos:

    git add .
    
  2. Confirma los archivos con un comentario que describa el historial de esta acción:

    git commit -m "Add Cloud Functions test to Cloud Source Repositories"
    
  3. Usa el comando git push para agregar el contenido del repositorio de Git local a Cloud Source Repositories:

    git push origin master
    

Crea y, luego, implementa la función

Crea y, luego, implementa la función mediante Google Cloud Console o el SDK de Cloud.

Console

  1. Ve a la página de Cloud Functions.

    Ir a la página de Cloud Functions

    Asegúrate de que el proyecto de Google Cloud para el que habilitaste Cloud Functions esté seleccionado.

  2. Haz clic en Crear función.

  3. En la página Crear función, completa las siguientes opciones:

    • En el campo Nombre, escribe cloud-source-repositories-test.
    • En la lista Activador, selecciona HTTP.
    • En la lista Código fuente, selecciona Cloud Source repository.
    • En el campo Repositorio, escribe hello-world.
    • En la lista Rama/etiqueta, selecciona Rama.
    • En el campo Nombre de la rama, escribe master.
    • En el campo Directorio con código fuente, escribe /gcf_hello_world.
    • En el campo Función que se ejecutará, escribe helloGET.
  4. Haz clic en Crear.

Mientras se implementa la función, aparece un ícono giratorio pequeño a su lado. Cuando finalice la implementación, el ícono giratorio se convertirá en una marca de verificación verde.

SDK de Cloud

  1. En una ventana de la terminal, establece una variable que contenga el ID de tu proyecto de Google Cloud. Asegúrate de que este sea el mismo proyecto de Google Cloud que contiene el repositorio.

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. Sigue estos pasos para implementar la función:

    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;
    

Para obtener más información sobre la implementación en Cloud Source Repositories, consulta Implementa desde el control de origen.

Prueba la función

Usa GCP Console o el SDK de Cloud para probar la nueva función.

Console

  1. Ve a la página Descripción general de Cloud Functions.

    Ir a la página Descripción general

    Asegúrate de que el proyecto de Google Cloud para el que habilitaste Cloud Functions esté seleccionado.

  2. Haz clic en cloud-source-repositories-test, el nombre de la función helloGET que creaste anteriormente.

    Se abrirá la página Detalles de la función.

  3. Haz clic en la pestaña Prueba.

  4. Haz clic en Probar la función.

    Después de un minuto o dos, el campo Resultado se actualiza para mostrar el mensaje Hello from Cloud Functions and Cloud Source Repositories.

SDK de Cloud

Ingresa el siguiente comando en una ventana de la terminal:

gcloud functions call helloGET

Se muestra un resultado similar al siguiente:

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

Limpieza

Sigue estos pasos para borrar la función y el repositorio que creaste.

Borra la función

  1. Ve a la página Descripción general de Cloud Functions.

    Ir a la página Descripción general

    Asegúrate de que el proyecto de Google Cloud para el que habilitaste Cloud Functions esté seleccionado.

  2. Selecciona la función helloGET para esta guía de inicio rápido, cloud-source-repositories-test.

  3. En la misma fila, haz clic en Más , y luego haz clic en Eliminar.

Borra el repositorio

  1. En GCP Console, abre la página Todos los repositorios de Cloud Source Repositories.

    Abrir Cloud Source Repositories

  2. Mantén el puntero sobre el repositorio que deseas eliminar y haz clic en Configuración.

    Se abrirá la página Configuración general.

  3. Haz clic en Borrar este repositorio.

    Se abrirá el cuadro de diálogo Quitar repositorio.

  4. Escribe el nombre del repositorio que deseas borrar.

  5. Haz clic en Borrar.

Qué sigue