快速入门:将 Pub/Sub 通知添加到 Cloud Source Repositories

本主题介绍如何将 Cloud Pub/Sub 添加到 Cloud Source Repositories。

准备工作

完成创建代码库快速入门中的步骤。

完成快速入门后,您会得到一个可以部署到 App Engine 的应用。

创建 Cloud Pub/Sub 主题

对于您希望收到通知的每个 Cloud Source Repositories 项目或代码库,您需要创建一个 Cloud Pub/Sub 主题。您可以使用 Console 或 gcloud 命令行工具创建主题。

要创建主题,请执行以下操作:

Console

  1. 转到 Console 中的 Cloud Pub/Sub 主题页面。

    转到 Cloud Pub/Sub 主题页面

  2. 点击创建主题

  3. 使用 URI 输入主题名称:

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

    其中 [PROJECT-ID] 是您的 Google Cloud Platform 项目 ID。

  4. 点击创建

gcloud

  1. 在一个终端窗口中,设置一个包含项目 ID 的变量。请确保这是包含代码库的项目。

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. 运行以下命令:

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

创建 Cloud Pub/Sub 订阅

接下来,创建 Pub/Sub 订阅。订阅使订阅者能够接收来自您的代码库主题的消息。

要创建订阅,请执行以下操作:

Console

  1. 转到 Console 中的 Cloud Pub/Sub 主题页面。

    转到 Cloud Pub/Sub 主题页面

  2. 点击项目的主题。

  3. 点击创建订阅

  4. 输入订阅名称:

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

    将传送类型设置为“拉取”。

  5. 点击创建

gcloud

在一个终端窗口中运行以下命令:

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

将主题与代码库相关联

您可以使用 gcloud 命令行工具在项目或代码库与 Cloud Pub/Sub 主题之间添加关联。

要将主题与特定代码库关联,请输入以下命令:

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

您将收到类似以下内容的响应:

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

将更改推送到 hello-world 代码库

Cloud Pub/Sub 主题和订阅设置完成后,请向 hello-world 代码库推送一项更改。进行此更改后,您可看到通知发挥作用了。

  1. 在终端窗口中,导航到 hello-world 代码库。

    cd ~/hello-world
    
  2. main.py 文件修改为如下所示:

    #!/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. 添加该文件,以便 Git 将其提交。

    git add main.py
    
  4. 提交此文件。

    git commit -m "Update main.py to test Cloud Pub/Sub notifications"
    
  5. 将文件推送到 Cloud Source Repositories。

    git push origin master
    

查看通知

将更改推送到代码库后,Cloud Pub/Sub 会发送一条通知。要查看此通知,请输入以下命令:

gcloud alpha pubsub subscriptions pull csr-subscription-test

清理

要删除 Cloud Pub/Sub 资源,请执行以下操作:

  1. 转到 Console 中的 Cloud Pub/Sub 主题页面。

    转到 Cloud Pub/Sub 主题页面

  2. 选中您创建的主题旁边的复选框。

  3. 点击删除永久删除该主题。

  4. 显示每个订阅并点击其垃圾桶图标,以删除任何剩余订阅。

要删除您创建的代码库,请执行以下操作:

  1. 打开 Cloud Source Repositories 的“所有代码库”视图:

    打开 Cloud Source Repositories

  2. 将鼠标悬停在代码库上,然后点击齿轮按钮。

    此时会打开“常规设置”屏幕。

  3. 点击删除此代码库

    此时会打开“移除代码库”屏幕。

  4. 输入要删除的代码库的名称。

  5. 点击删除

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Source Repositories