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

Neste tópico, você verá como adicionar o Cloud Pub/Sub ao Cloud Source Repositories.

Antes de começar

Conclua as etapas em Guia de início rápido para criar um repositório.

Depois de concluir o guia de início rápido, você provavelmente terá um aplicativo que poderá ser implantado no App Engine.

Criar um tópico do Cloud Pub/Sub

É necessário criar um tópico do Cloud Pub/Sub para cada projeto ou repositório do Cloud Source Repositories que você quer que receba notificações. É possível criar um tópico usando o console ou a ferramenta de linha de comando gcloud.

Para criar um tópico:

Console

  1. Acesse a página de tópicos do Cloud Pub/Sub no console.

    Acesse a página de tópicos do Cloud Pub/Sub

  2. Clique em Criar tópico.

  3. Digite um nome de tópico com o URI:

    projects/[PROJECT-ID]/topics/csr-test
    

    em que [PROJECT-ID] é o código do projeto no Google Cloud Platform.

  4. Clique em Criar.

gcloud

  1. Em uma janela de terminal, defina uma variável que contenha seu código do projeto. Verifique se é o mesmo projeto que contém seu repositório.

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. Execute este comando:

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

Criar uma assinatura do Cloud Pub/Sub

Em seguida, crie uma assinatura do Pub/Sub. Essa assinatura permitirá que os assinantes recebam mensagens do tópico do seu repositório.

Para criar uma assinatura:

Console

  1. Acesse a página de tópicos do Cloud Pub/Sub no console.

    Acesse a página de tópicos do Cloud Pub/Sub

  2. Clique no tópico do projeto.

  3. Clique em Criar assinatura.

  4. Insira o nome da assinatura:

    projects/[PROJECT-ID]/subscriptions/csr-subscription-test
    

    Deixe "Tipo de entrega" configurado como "Pull".

  5. Clique em Criar.

gcloud

Em uma janela de terminal, execute o seguinte comando:

gcloud alpha pubsub subscriptions create csr-subscription-test --topic=csr-test

Associar um tópico a um repositório

Adicione uma associação entre um projeto ou repositório e um tópico do Cloud Pub/Sub por meio da ferramenta de linha de comando gcloud.

Para associar um tópico a um repositório específico, digite o seguinte comando:

gcloud beta source repos update hello-world --add-topic=csr-test

Você receberá uma resposta semelhante à seguinte:

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 ao repositório hello-world

Depois de configurar os tópicos e as assinaturas do Cloud Pub/Sub, envie uma alteração ao repositório hello-world. Com essa alteração, você verá a notificação em ação.

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

    cd ~/hello-world
    
  2. Edite o arquivo main.py da seguinte maneira:

    #!/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 executar um commit nele.

    git add main.py
    
  4. Execute commit no 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 para o repositório, o Cloud Pub/Sub envia uma notificação. Para ver essa notificação, digite o seguinte comando:

gcloud alpha pubsub subscriptions pull csr-subscription-test

Limpar

Exclua seus recursos do Cloud Pub/Sub:

  1. Acesse a página de tópicos do Cloud Pub/Sub no console.

    Acesse a página de tópicos do Cloud Pub/Sub

  2. Marque a caixa de seleção ao lado do tópico que você criou.

  3. Clique em Excluir para excluir permanentemente o tópico.

  4. Exiba as assinaturas restantes e clique no ícone de lixeira correspondente a cada uma para exclui-las.

Para excluir o repositório que você criou:

  1. Abra a visualização "Todos os repositórios" do Cloud Source Repositories:

    Abrir Cloud Source Repositories

  2. Passe o cursor sobre o repositório e clique no botão de engrenagem.

    A tela “Configurações gerais” será aberta.

  3. Clique em Excluir este repositório.

    A tela “Remover repositório” será aberta.

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

  5. Clique em Excluir.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud Source Repositories