1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BitriseとGHEのリポジトリを連携した時のメモ

Posted at

はじめに

こんにちは。
Bitriseを用いてCI/CDを作成していると、外部サービスのイベントをトリガーにビルドを実行したり、Slackに通知を送ったり外部サービスとの連携をしたくなると思います。
以前BitriseとGitHub Enterprise(GHE)を連携させようとした際に少し手間取ったので、今回は備忘録として記事にまとめます。

この記事では主に以下について説明します

  • GitHub Enterpriseのイベントをトリガーにしたビルド実行方法
  • Slackへの通知設定方法

1. GHEのイベントをトリガーにしたビルド実行

Bitriseのビルドトリガーについてはこちらにまとめられているのですが、Supported trigger conditionsにGHEが含まれていません。
そのためGHEとの連携は、通常のGitHubと少し設定方法が異なります。

設定手順

  1. Bitriseの「Workflow」→「Triggers」からトリガーを設定

    • 例として、ここではdevelopブランチがpushされた場合に発火するように設定しています
      image.png
  2. Bitriseのプロジェクト設定を開く

    • プロジェクトのダッシュボードから「Project settings」ボタンをクリック
      image.png
  3. 「Integrations」をクリックし、「Webhooks」を選択
    image.png

  4. 「Incoming Webhooks」の「Manual webhooks」セクションからWebhook URLをコピー
    image.png

  5. GHEのリポジトリの設定ページを開く(リポジトリのホームページから「Settings」をクリック)

  6. サイドメニューから「Hooks」を選択

  7. 「Add webhook」ボタンをクリック

  8. 以下の情報を入力

    • Payload URL:先ほどコピーしたBitriseのWebhook URL
    • Content type:application/x-www-form-urlencoded
    • イベントの選択:必要なイベント(迷ったときは「Send me everything」で大丈夫かと思います)
      image.png
  9. 「Add webhook」をクリックして保存

Personal Access Token (PAT)を使用してGHEとBitriseを連携している場合、PATにはadmin:repo_hookの権限が必要です。
権限が不足していると、Webhookの設定ができません。

これで設定完了です。GHE上でイベントが発生すると、BitriseにWebhookが送信され、ビルドが開始されます。

2. Slackに通知を送る

Bitriseのビルド結果をSlackに通知する設定方法です。1

設定手順

  1. Slackのワークスペースの管理ページを開く
  2. アプリを検索し、「カスタムインテグレーション」→「Incoming Webhook」を選択
    image.png
  3. 「Slackに追加」をクリックし、通知を送信したいSlackチャンネルを選択
  4. Webhook URLが生成されるのでコピー
    image.png
  5. Bitriseのワークフローエディタを開き、通知を送りたいワークフローを選択
  6. 「+ Add Step」をクリックし、「Send a Slack message」ステップを検索して追加
  7. 追加したステップの設定を開き、以下の設定を行う:
    • Webhook URL:先ほどSlackで生成したWebhook URL
    • メッセージの内容やアイコンなど、必要に応じて他の設定も行う
      image.png

Webhook URLはプロジェクトの「Secrets」に保存し、環境変数として参照することをお勧めします。
例:$SLACK_WEBHOOK_URLとして保存し、ステップの設定でこの環境変数を参照する

これで設定完了です。ワークフローが実行されると、指定したSlackチャンネルに通知が送信されます。

うまくいかない時は

連携がうまくいかない場合は、以下を確認してみてください

  • GHEとの連携:Personal Access Tokenの権限が適切か
  • Slack通知:Webhook URLが正しく設定されているか
  • 全般:Bitriseのログでエラーメッセージを確認

参考文献

  1. この手順自体はGHEに特化した方法ではないのですが、BitriseとGHEリポジトリを連携した際、同時に行ったため参考までに記載します。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?