為 Cloud Source Repositories 新增 Pub/Sub 通知快速入門

本主題說明如何新增 Cloud Pub/Sub 至 Cloud Source Repositories。

事前準備

完成建立存放區快速入門的步驟。

完成快速入門後,您會有一個可部署至 App Engine 的應用程式。

建立 Cloud Pub/Sub 主題

針對您想要收到通知的每個 Cloud Source Repositories 專案或存放區,您必須建立 Cloud Pub/Sub 主題。您可以使用主控台或 gcloud 指令列工具建立主題。

如要建立主題:

主控台

  1. 前往主控台的 Cloud Pub/Sub 主題頁面。

    前往 Cloud Pub/Sub 主題頁面

  2. 按一下 [Create Topic] (建立主題)

  3. 使用 URI 輸入主題名稱:

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

    其中,[PROJECT-ID] 是您的 Google Cloud Platform 專案 ID。

  4. 按一下 [Create] (建立)

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 訂閱。訂閱可讓訂閱者收到來自存放區主題的訊息。

如要建立訂閱:

主控台

  1. 前往主控台的 Cloud Pub/Sub 主題頁面。

    前往 Cloud Pub/Sub 主題頁面

  2. 按一下專案的主題。

  3. 按一下 [Create Subscription] (建立訂閱)

  4. 輸入訂閱名稱:

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

    將「傳送類型」的設定保留為「提取」。

  5. 按一下 [Create] (建立)。

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. 前往主控台的 Cloud Pub/Sub 主題頁面。

    前往 Cloud Pub/Sub 主題頁面

  2. 勾選您建立主題旁的核取方塊。

  3. 按一下「Delete」(刪除) 永久刪除主題。

  4. 顯示每個訂閱項目並按一下其垃圾桶圖示以刪除任何剩餘的訂閱項目。

刪除您建立的存放區:

  1. 開啟 Cloud Source Repositories 的「所有存放區」檢視畫面:

    開啟 Cloud Source Repositories

  2. 將滑鼠游標移至存放區並按一下齒輪按鈕。

    此時會開啟一般設定畫面。

  3. 按一下 [Delete This Repository] (刪除這個存放區)

    此時會開啟「移除存放區」畫面。

  4. 輸入您想要刪除的存放區名稱。

  5. 按一下 [Delete] (刪除)

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Source Repositories