Guía de inicio rápido para agregar notificaciones de Pub/Sub a Cloud Source Repositories

En este tema, se describe cómo configurar las notificaciones de Pub/Sub para Cloud Source Repositories.

Antes de comenzar

  1. Completa los pasos de la guía de inicio rápido para crear un repositorio.

    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.

    Habilita la API de Compute Engine

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. Para crear un tema, puedes usar Google Cloud Console o la herramienta de línea de comandos gcloud.

Console

  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

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

Console

  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 la herramienta de línea de comandos gcloud, asocia un tema de Pub/Sub con 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

Limpieza

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 borrar las suscripciones restantes, muestra cada una de ellas y haz clic en Borrar .

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