Recibe notificaciones cuando cambie el código 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
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.
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 de forma manualroles/editor
a la cuenta de servicio predeterminada de Compute Engine.Habilitar la API de Pub/Sub
Crear 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.
Console
En la consola de Google Cloud, ve a la página Temas de Pub/Sub.
Haz clic en Crear temaadd_box.
En el campo Nombre, escribe
csr-test
.Haz clic en Crear tema.
Se abrirá la página Detalles del tema.
gcloud
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)')
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.
Console
En la consola de Google Cloud, ve a la página Temas de Pub/Sub.
Haz clic en el nombre del tema del proyecto de Google Cloud que acabas de crear.
En la pestaña Suscripciones, haz clic en Crear suscripción.
Se abrirá la página Agregar suscripción al tema.
En el nombre de la suscripción, escribe
csr-subscription-test
.Asegúrate de que Tipo de publicación esté configurado en Extraer.
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.
En una ventana de la terminal, ve al repositorio
hello-world
:cd hello-world
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)
Agrega el archivo para que se pueda confirmar en Git.
git add main.py
Confirma el archivo:
git commit -m "Update main.py to test Cloud Pub/Sub notifications"
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.
En la consola de Google Cloud, ve a la página Temas de Pub/Sub.
Selecciona la casilla de verificación de cualquier tema que quieras borrar de forma permanente.
Haz clic en Borrar delete.
Para eliminar las suscripciones restantes, muestra cada una y luego haz clic en Eliminar delete.
Sigue estos pasos para borrar el repositorio que creaste.
En la consola de Google Cloud, abre la página Todos los repositorios de Cloud Source Repositories.
Mantén el puntero sobre el repositorio que deseas borrar y haz clic en Configuraciónsettings.
Se abrirá la página Configuración general.
Haz clic en Borrar este repositoriodelete.
Se abrirá el cuadro de diálogo Quitar repositorio.
Escribe el nombre del repositorio que deseas borrar.
Haz clic en Borrar.
¿Qué sigue?
- Obtén más información sobre cómo configurar las notificaciones para Cloud Source Repositories.
- Obtén más información sobre las notificaciones de Pub/Sub para Cloud Source Repositories.
- Lee la documentación de Pub/Sub.
- Para obtener una explicación detallada de Pub/Sub, consulta ¿Qué es Pub/Sub?
- Obtén más información sobre las funciones de control de acceso de Pub/Sub.