Receba notificações quando o código for alterado no Cloud Source Repositories
Nesta página, mostramos como configurar notificações do Pub/Sub para o Cloud Source Repositories.
Antes de começar
Conclua as etapas em Criar um repositório de código no Cloud Source Repositories.
Depois de concluir esse guia, você terá um aplicativo que pode ser implantado no App Engine.
Ative a API Compute Engine.
Neste guia de início rápido, a conta de serviço padrão do Compute Engine é usada para publicar mensagens no Pub/Sub.
Se a restrição de política da organização
constraints/iam.automaticIamGrantsForDefaultServiceAccounts
estiver ativada, conceda manualmenteroles/editor
à conta de serviço padrão do Compute Engine.Ative a API Pub/Sub.
Criar um tópico do Pub/Sub.
Para receber notificações sobre um projeto ou repositório do Cloud Source Repositories, crie um tópico do Pub/Sub. É possível usar o console do Google Cloud ou a Google Cloud CLI para criar um tópico.
Console
No console do Google Cloud, acesse a página Tópicos do Pub/Sub.
Clique em Criar tópico add_box.
No campo Nome, digite
csr-test
.Clique em Criar tópico.
A página Detalhes do tópico é aberta.
gcloud
Em uma janela de terminal, defina uma variável que contenha seu ID de projeto do Google Cloud. Verifique se esse é o mesmo projeto do Google Cloud que contém seu repositório.
export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
Execute este comando:
gcloud pubsub topics create projects/$PROJECT_ID/topics/csr-test
Criar uma assinatura do Pub/Sub
Crie uma assinatura de pull, push ou BigQuery.
As assinaturas do Pub/Sub permitem que os assinantes recebam mensagens de um tópico do repositório.
Console
No console do Google Cloud, acesse a página Tópicos do Pub/Sub.
Clique no nome do tópico do projeto do Google Cloud que você acabou de criar.
Na guia Assinaturas, clique em Criar assinatura.
A página Adicionar assinatura ao tópico é aberta.
Para o nome da assinatura, digite
csr-subscription-test
.Certifique-se de que Tipo de entrega esteja definido como Pull.
Clique em Criar.
A página Detalhes do tópico é aberta. Sua assinatura está listada na guia Assinaturas.
gcloud
Em uma janela de terminal, execute o comando a seguir:
gcloud pubsub subscriptions create csr-subscription-test --topic=csr-test
Associar um tópico a um repositório
Usando a Google Cloud CLI, associe um tópico do Pub/Sub a um repositório específico:
gcloud source repos update hello-world --add-topic=csr-test
Uma saída semelhante à seguinte é exibida:
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
Enviar uma alteração para o repositório hello-world
Com a configuração de tópicos e assinaturas do Pub/Sub, envie uma alteração para o repositório hello-world
. Essa alteração permite que você veja a notificação no trabalho.
Em uma janela de terminal, acesse o repositório
hello-world
:cd hello-world
Edite o arquivo
main.py
para ler da seguinte forma:#!/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)
Adicione o arquivo para que o Git possa confirmá-lo:
git add main.py
Faça a confirmação do arquivo:
git commit -m "Update main.py to test Cloud Pub/Sub notifications"
Envie o arquivo para o Cloud Source Repositories:
git push origin master
Visualizar a notificação
Quando você envia uma alteração ao seu repositório, o Pub/Sub envia uma notificação. Para visualizar essa notificação, digite o seguinte comando:
gcloud pubsub subscriptions pull csr-subscription-test
Limpar
Para excluir seus recursos do Pub/Sub, siga estas etapas.
No console do Google Cloud, acesse a página Tópicos do Pub/Sub.
Marque a caixa de seleção de qualquer tópico que você queira excluir permanentemente.
Clique em Excluir delete.
Para excluir todas as assinaturas restantes, selecione cada uma delas e clique em Excluir delete.
Para excluir o repositório que você criou, siga estas etapas.
No console do Google Cloud, abra a página Todos os repositórios do Cloud Source Repositories.
Mantenha o ponteiro do mouse sobre o repositório que você quer excluir e clique em Configurações settings.
A página Configurações gerais é aberta.
Clique em Excluir este repositório delete.
A caixa de diálogo Remover repositório é aberta.
Digite o nome do repositório que você quer excluir.
Clique em Excluir.
A seguir
- Saiba mais sobre como configurar notificações para o Cloud Source Repositories.
- Saiba mais sobre notificações do Pub/Sub para o Cloud Source Repositories.
- Leia a documentação do Pub/Sub.
- Para ver uma explicação detalhada do Pub/Sub, consulte O que é o Pub/Sub?
- Saiba mais sobre os papéis de controle de acesso do Pub/Sub.