Cloud Pub/Sub 通知の構成

Cloud Pub/Sub を使用して、GCP リポジトリの変更に関する通知を受け取ることができます。これらの通知は、ユーザーが新しいリポジトリを作成したとき、リポジトリを削除したとき、または既存のリポジトリに変更を push したとき知らせてくれます。特定のリポジトリに関する通知やプロジェクト全体にわたる通知を構成できます。

Cloud Pub/Sub の詳細については、Google Cloud Pub/Sub とはのトピックをご覧ください。

準備

  • プロジェクトの作成、Git のインストール、Google Cloud SDK の初期化がまだ完了していない場合は、クイックスタートの手順に沿って行ってください。
  • トピックとサブスクリプションを作成するための適切な権限があることを確認します。詳しくは、アクセス制御をご覧ください。

Cloud Pub/Sub トピックの作成

通知を希望する Cloud Source Repositories プロジェクトまたはリポジトリごとに、Cloud Pub/Sub トピックを作成する必要があります。Console と gcloud コマンドライン ツールのどちらかを使用してトピックを作成できます。

トピックを作成するときは、リポジトリの修飾 URI を使用する必要があります。修飾 URI は次のとおりです。

projects/[PROJECT_ID]/topics/[TOPIC_NAME]

上記で [PROJECT_ID] は Google Cloud Platform プロジェクト ID、[TOPIC_NAME] はトピックの名前です。

トピックを作成するには:

Console

  1. GCP Console の Cloud Pub/Sub トピックページに移動します。

    Cloud Pub/Sub トピックページに移動

  2. [トピックを作成] をクリックします。

  3. URI を使用したトピック名を入力します。

    projects/[PROJECT-ID]/topics/[TOPIC_NAME]
    

    ここで、[PROJECT-ID] は Google Cloud Platform プロジェクト ID です。

  4. [作成] をクリックします。

gcloud

ターミナル ウィンドウで、次のコマンドを実行します。

gcloud alpha pubsub topics create projects/[PROJECT-ID]/topics/[TOPIC_NAME]

gcloud alpha pubsub topics コマンドの詳細については、topics のドキュメントをご覧ください。

Cloud Pub/Sub サブスクリプションの作成

トピックに公開されたイベントを受信するには、Pub/Sub サブスクリプションを作成する必要があります。

サブスクライバー アプリケーションは、リポジトリのトピックからメッセージを受信します。サブスクライバーは、通知を送信するかビルドをトリガーすることで、リポジトリ イベントに応答できます。

サブスクリプションを作成するには:

Console

  1. GCP Console の Cloud Pub/Sub トピックページに移動します。

    Cloud Pub/Sub トピックページに移動

  2. プロジェクトのトピックをクリックします。

  3. [サブスクリプションを作成] をクリックします。

  4. サブスクリプション名を入力します。

    projects/[PROJECT-ID]/subscriptions/[SUBSCRIPTION_NAME]
    

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

  5. [作成] をクリックします。

gcloud

ターミナル ウィンドウで、次のコマンドを実行します。

gcloud alpha pubsub subscriptions create [SUBSCRIPTION_NAME] --topic=[TOPIC_NAME]

gcloud alpha pubsub subscriptions コマンドの詳細については、subscriptions のドキュメントをご覧ください。

トピックを追加する

gcloud コマンドライン ツールを使用して、プロジェクトまたはリポジトリと Cloud Pub/Sub トピックの間の関連付けを追加できます。

トピックをプロジェクト全体に追加するには、次のコマンドを入力します。

gcloud beta source project-configs update --add-topic=[TOPIC_NAME]

トピックを特定のリポジトリに追加するには、次のコマンドを入力します。

gcloud beta source repos update [REPOSITORY_NAME] --add-topic=[TOPIC_NAME]

トピックを削除する

gcloud コマンドライン ツールを使用して、プロジェクトまたはリポジトリと Cloud Pub/Sub トピックの間の関連付けを削除できます。

トピックをプロジェクト全体から削除するには、次のコマンドを入力します。

gcloud beta source project-configs update --remove-topic=[TOPIC_NAME]

トピックを特定のリポジトリから削除するには、次のコマンドを入力します。

gcloud beta source repos update [REPOSITORY_NAME] --remove-topic=[TOPIC_NAME]

トピックの形式を設定する

Cloud Source Repositories の通知には、JSON 形式とプロトコル バッファ形式のいずれかを使用できます。トピックの形式を設定するには、トピックを追加するとき --message-format パラメータを、以下のように使用します。

gcloud beta source project-configs update --add-topic=[TOPIC_NAME] --message-format=[json|protobuf]

set-format コマンドを以下のように使用することもできます。

gcloud beta source project-configs update --update-topic[TOPIC_NAME] --message-format=[json|protobuf]

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Source Repositories