Guia de início rápido: adicionar notificações do Pub/Sub ao Cloud Source Repositories

Neste tópico, descrevemos como configurar as notificações do Pub/Sub para o Cloud Source Repositories.

Antes de começar

  1. Conclua as etapas do Guia de início rápido: criar um repositório.

    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.

    Ativar a API Compute Engine

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. Para isso, use o Console do Google Cloud ou a ferramenta de linha de comando gcloud.

Console

  1. No Console do GCP, acesse a página Tópicos do Pub/Sub.

    Acessar a página "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 o seguinte comando:

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

Criar uma assinatura no Pub/Sub

As assinaturas do Pub/Sub permitem que assinantes recebam mensagens do tópico de um repositório.

Console

  1. No Console do GCP, acesse a página Tópicos do Pub/Sub.

    Acessar a página "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 ferramenta de linha de comando gcloud, 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 GCP, acesse a página Tópicos do Pub/Sub.

    Acessar a página "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 GCP, 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