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

  1. 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.

  2. 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 manualmente roles/editor à conta de serviço padrão do Compute Engine.

    Ativar a Compute Engine API

  3. Ative a API Pub/Sub.

    Habilitar 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

  1. No console do Google Cloud, acesse a página Tópicos do Pub/Sub.

    Acessar a página de tópicos

  2. Clique em Criar tópico .

  3. No campo Nome, digite csr-test.

  4. Clique em Criar tópico.

    A página Detalhes do tópico é aberta.

gcloud

  1. 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)')
    
  2. 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

  1. No console do Google Cloud, acesse a página Tópicos do Pub/Sub.

    Acessar a página de tópicos

  2. Clique no nome do tópico do projeto do Google Cloud que você acabou de criar.

  3. Na guia Assinaturas, clique em Criar assinatura.

    A página Adicionar assinatura ao tópico é aberta.

  4. Para o nome da assinatura, digite csr-subscription-test.

  5. Certifique-se de que Tipo de entrega esteja definido como Pull.

  6. 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.

  1. Em uma janela de terminal, acesse o repositório hello-world:

    cd hello-world
    
  2. 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)
    
  3. Adicione o arquivo para que o Git possa confirmá-lo:

    git add main.py
    
  4. Faça a confirmação do arquivo:

    git commit -m "Update main.py to test Cloud Pub/Sub notifications"
    
  5. 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.

  1. No console do Google Cloud, acesse a página Tópicos do Pub/Sub.

    Acessar a página de tópicos

  2. Marque a caixa de seleção de qualquer tópico que você queira excluir permanentemente.

  3. Clique em Excluir .

  4. Para excluir todas as assinaturas restantes, selecione cada uma delas e clique em Excluir .

Para excluir o repositório que você criou, siga estas etapas.

  1. No console do Google Cloud, abra a página Todos os repositórios do Cloud Source Repositories.

    Abrir o Cloud Source Repositories

  2. Mantenha o ponteiro do mouse sobre o repositório que você quer excluir e clique em Configurações .

    A página Configurações gerais é aberta.

  3. Clique em Excluir este repositório .

    A caixa de diálogo Remover repositório é aberta.

  4. Digite o nome do repositório que você quer excluir.

  5. Clique em Excluir.

A seguir