クイックスタート: Cloud Source Repositories への Pub/Sub 通知の追加

このトピックでは、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
    

    [配信タイプ] は [Pull] に設定されたままにします。

  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 リポジトリに変更を push

Cloud Pub/Sub トピックとサブスクリプションがセットアップされたら、hello-world リポジトリに変更を push します。この変更により、作動中の通知を表示できるようになります。

  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 で commit できるようにファイルを追加します。

    git add main.py
    
  4. ファイルを commit します。

    git commit -m "Update main.py to test Cloud Pub/Sub notifications"
    
  5. ファイルを Cloud Source Repositories に push します。

    git push origin master
    

通知の表示

変更をリポジトリに push したとき、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