Recibe notificaciones cuando el código cambie en Cloud Source Repositories

En esta página, se muestra cómo configurar las notificaciones de Pub/Sub para Cloud Source Repositories.

Antes de comenzar

  1. Completa los pasos de Crea un repositorio de código en Cloud Source Repositories.

    Después de completar esa guía, tendrás una app que podrás implementar en App Engine.

  2. Habilita la API de Compute Engine.

    En esta guía de inicio rápido, se usa la cuenta de servicio predeterminada de Compute Engine para publicar mensajes en Pub/Sub.

    Si la restricción de la política de la organización constraints/iam.automaticIamGrantsForDefaultServiceAccounts está activada, asegúrate de otorgar manualmente roles/editor a la cuenta de servicio predeterminada de Compute Engine.

    Habilitar la API de Compute Engine

  3. Habilitar la API de Pub/Sub

    Habilita la API de Pub/Sub

Crea un tema de Pub/Sub

Para recibir notificaciones de un repositorio o proyecto de Cloud Source Repositories, debes crear un tema de Pub/Sub. Puedes usar la consola de Google Cloud o Google Cloud CLI para crear un tema.

Consola

  1. En GCP Console, ve a la página Temas de Pub/Sub.

    Ir a la página Temas

  2. Haz clic en Crear tema.

  3. En el campo Nombre, escribe csr-test.

  4. Haz clic en Crear tema.

    Se abrirá la página Detalles del tema.

gcloud

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

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. Ejecuta el siguiente comando:

    gcloud pubsub topics create projects/$PROJECT_ID/topics/csr-test
    

Crea una suscripción a Pub/Sub

Crea una suscripción de pull, push o BigQuery.

Las suscripciones a Pub/Sub permiten que los suscriptores reciban mensajes del tema de un repositorio.

Consola

  1. En GCP Console, ve a la página Temas de Pub/Sub.

    Ir a la página Temas

  2. Haz clic en el nombre del tema del proyecto de Google Cloud que acabas de crear.

  3. En la pestaña Suscripciones, haz clic en Crear suscripción.

    Se abrirá la página Agregar suscripción al tema.

  4. En el nombre de la suscripción, escribe csr-subscription-test.

  5. Asegúrate de que Tipo de publicación esté configurado en Extraer.

  6. Haz clic en Crear.

    Se abrirá la página Detalles del tema. La suscripción aparece en la pestaña Suscripciones.

gcloud

En una ventana de la terminal, ejecuta el siguiente comando:

gcloud pubsub subscriptions create csr-subscription-test --topic=csr-test

Asocia un tema con un repositorio

Con Google Cloud CLI, asocia un tema de Pub/Sub a un repositorio específico:

gcloud source repos update hello-world --add-topic=csr-test

Se muestra un resultado similar al siguiente:

name: projects/csr-quickstart-test/repos/hello-world
pubsubConfigs:
  projects/csr-quickstart-test/topics/csr-test:
    messageFormat: JSON
    serviceAccountEmail: 604898361241-compute@developer.gserviceaccount.com
    topic: projects/csr-quickstart-test/topics/csr-test
url: https://source.developers.google.com/p/csr-quickstart-test/r/hello-world

Envía un cambio al repositorio hello-world

Una vez que los temas y las suscripciones a Pub/Sub estén configurados, envía un cambio al repositorio hello-world. Este cambio te permite ver la notificación en acción.

  1. En una ventana de la terminal, ve al repositorio hello-world:

    cd hello-world
    
  2. Edita el archivo main.py de la siguiente manera:

    #!/usr/bin/env python
    
    import webapp2
    
    class MainHandler(webapp2.RequestHandler):
        def get(self):
            self.response.write('Hello, Cloud Pub/Sub!')
    
    app = webapp2.WSGIApplication([
        ('/', MainHandler)
    ], debug=True)
    
  3. Agrega el archivo para que se pueda confirmar en Git.

    git add main.py
    
  4. Confirma el archivo:

    git commit -m "Update main.py to test Cloud Pub/Sub notifications"
    
  5. Envía el archivo a Cloud Source Repositories:

    git push origin master
    

Visualiza la notificación

Cuando envías un cambio a tu repositorio, recibes una notificación de Pub/Sub. Para ver esta notificación, escribe el siguiente comando:

gcloud pubsub subscriptions pull csr-subscription-test

Limpia

Sigue estos pasos para borrar tus recursos de Pub/Sub.

  1. En GCP Console, ve a la página Temas de Pub/Sub.

    Ir a la página Temas

  2. Selecciona la casilla de verificación de cualquier tema que quieras borrar de forma permanente.

  3. Haz clic en Borrar .

  4. Para eliminar las suscripciones restantes, muestra cada una y luego haz clic en Eliminar .

Sigue estos pasos para borrar el repositorio que creaste.

  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 borrar 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?