Skip to main content

セルフホスト型 GitHub Enterprise Server と Bitrise の統合

概要

BitriseはGitHub Enterprise Server(GHES)との統合を提供しています。統合の主な利点は、GHESユーザーが bitrise.yml リポジトリ内のファイル。

このガイドは GitHub Enterprise Server ユーザー向けです。Bitrise GitHub App を使用して Bitrise に接続したい GitHub Cloud ユーザー向けには、別のガイドがあります。 GitHub アプリによるリポジトリへのアクセス

Bitriseは、セルフホスト型GitHub Enterprise Server(GHES)インスタンスの統合を提供しています。統合の主な利点は、セルフホスト型GHESユーザーが 保存する bitrise.yml リポジトリ内のファイルファイルをリポジトリに保存すると、構成ファイルの完全なバージョン管理とメンテナンスが可能になります。

この機能には以下が必要です:

  • ビットライズ ワークスペースのオーナー 統合を構成します。

  • GHES組織のオーナー GHES 上に GitHub アプリを作成し、選択したリポジトリにインストールするための十分な権限を持っていること。

  • GHESインスタンスへのアクセス。BitriseウェブサイトがGHES上のリポジトリにアクセスできない場合、 bitrise.yml そこに保存されているファイル。セキュリティ上の目的でIPアドレスのアクセス制御リストがある場合は、 Bitrise Web サイトを許可リストに登録する

    Bitrise バックグラウンドワーカーの許可リスト

    特に、app.bitrise.io と Bitrise ビルド マシンを動かす Bitrise バックグラウンド ワーカーは、異なる IP アドレス範囲を持っていることに注意してください。ビルド マシンを許可リストに登録するだけでは、この機能には不十分です。

    許可リストに登録できない場合は、 Bitriseに連絡する 他の選択肢について話し合うことができます。

統合を設定するには、次の手順が必要です。

  1. GitHubアプリを作成する

    アプリを作成すると、GitHub Enterprise Serverユーザーは Bitrise チェック機能: アプリを作成したら、 Bitriseでチェックを有効にする

  2. GitHubアプリ経由でBitriseワークスペースをGHESに接続する

GitHub Enterprise Server 用の GitHub アプリの作成

  1. Bitrise にログインし、左側のナビゲーション バーにマウスを置きます。

  2. 正しいワークスペースが選択されていることを確認してください。 ワークスペース メニュー。

  3. 選択する 設定

    workspace-settings-new.png
  4. 左側には ワークスペース設定 ページ、選択 統合

  5. 選択してください Git プロバイダー タブを押してスクロールし、 GitHub エンタープライズ サーバー セクション。

  6. ここで見つかるWebhook URLをコピーします。

  7. 別のブラウザタブでGHESを開き、組織の 設定 ページ。

    ターゲットリポジトリ

    組織は、プロジェクトが使用するリポジトリを所有している組織である必要があります。後で他の組織で GitHub アプリを再利用できます。

  8. 上の 設定 ページで、 開発者 設定セクションで選択 GitHub アプリ

  9. クリック 新しい GitHub アプリ アプリ作成フォームに入力します。次の表には必要な情報がすべて含まれており、表に指定されていないフィールドは空白のままにすることができます。

    Webhookシークレットの設定

    このプロセスでは Webhook シークレットの設定が必須であり、後で Bitrise Workspace を GHES インスタンスに接続するときにシークレットが必要になります。

    表1 新しい GitHub アプリに必要な情報

    GitHub アプリ名

    ビットライズ

    ホームページURL

    出典: bitrise.io

    ウェブフックURL

    Bitrise のワークスペース設定ページからコピーしたもの。形式は次のようになります。 https://app.bitrise.io/organization/<org_slug>/github_webhooks

    Webhookシークレット

    GitHub ではこれはオプションとされていますが、Webhook の整合性を確保するには、シークレットを設定する必要があります。Webhook シークレットは、エントロピーの高いランダムなテキスト文字列である必要があります。後で Bitrise と共有する必要があるため、シークレットをメモしておいてください。

    権限

    次の権限を設定します。

    • リポジトリ権限

      • 読み取りと書き込みをチェックする

      • コミットステータスの読み取りと書き込み

      • 内容は読み取り専用です

      • メタデータ読み取り専用

      • プルリクエストは読み取り専用です

    今後の機能

    Bitriseはこれらのイベントと権限を使用して、例えば以下のようなサポートを含む完全に統合されたエクスペリエンスを提供します。 GitHub チェック そして 選択ビルドこれらの機能は近日中に追加される予定です。

    イベントを購読する

    次のイベントを有効にします。

    • チェック実行

    • スイートをチェック

    • プルリクエスト

    • 押す

    この GitHub アプリはどこにインストールできますか?

    このGHES組織外のリポジトリの統合を有効にする場合は、 任意のアカウント


  10. 完了したらクリック GitHub アプリを作成する

GitHub アプリを作成したら、Bitrise で GitHub Enterprise Server 統合の設定に進みます。

GitHub アプリ経由で GHES インスタンスに接続する

新しい GitHub アプリを作成したら、アプリ経由で Bitrise Workspace を GHES インスタンスに接続する必要があります。

Webhook シークレットが必要です

ウェブフックシークレットを入手したことを確認してください GitHub アプリ作成プロセス 利用可能。

  1. GitHubアプリのページを開きます: GitHub組織の 設定 ページ、選択 GitHub アプリ クリック 編集 アプリ名の横にあります。

  2. 左側で、 一般的な

  3. 新しいクライアントシークレットを生成します。「クライアントシークレット クリック 新しいクライアントシークレットを生成する秘密をコピーしてください。後で必要になります。

  4. 見つける 秘密鍵 セクションをクリックして 秘密鍵を生成する. これにより、 .pem このプロセスの後半で Bitrise にアップロードする必要があるファイルです。

  5. Bitriseで、 ワークスペース設定 ページと GitHub エンタープライズ サーバー セクションをクリック 接続する

  6. 接続フォームに記入してください:

    • インスタンスのベース URL サーバーのルート URL である必要があります。

    • 先ほど生成した Webhook シークレットとクライアント シークレットを追加します。

    • アップロード .pem ファイル。

  7. 完了したらクリック 接続する

    即時フィードバック

    接続に関するフィードバックがすぐに表示され、失敗した場合には対処可能なエラー メッセージが表示されます。

  8. GHES に戻り、GitHub アプリのページをもう一度開きます。

  9. 左側で、 アプリをインストール

  10. アプリをインストールする組織を選択します。

  11. リポジトリへのアクセス、Bitrise がアクセスできるようにするリポジトリを選択するか、すべてのリポジトリを選択します。

  12. 完了したらクリック 保存

Bitriseはインストールに関するWebhookイベントを受信し、対応するBitriseプロジェクトが最近設定されたGHES統合を使用できるように自動的に有効にします。 アプリの設定ページで確認できます完了したら、 bitrise.yml GHES リポジトリ内のファイル: bitrise.ymlファイルをリポジトリに保存する

統合のテスト

ダミープロジェクトを作成して統合をテストし、そのプロジェクトを保存することをお勧めします。 bitrise.yml GHESリポジトリ上のファイル。 このデモプロジェクト テスト目的のため。

GHES 統合のトラブルシューティング

GHES 統合が機能しない場合は、次の操作を実行できます。

  • Bitriseで統合のステータスを確認する 統合 ページ。

  • GitHub で Webhook の構成と Webhook の配信を確認します。

Webhook設定の確認

  1. GHES組織のページを開き、上部のナビゲーションバーで 設定

  2. 左側で、 開発者設定 その後 GitHub アプリ

  3. GitHubアプリを見つけてクリックします 編集 名前の横に表示されます。

  4. 左側で、 高度な

  5. の下で 最近の納品 セクションで、Webhook の配信を確認します。

    Webhook が正しく構成されている場合は、配信の横に緑色のチェックマークが付いた 200 OK 応答が表示されます。

  6. Webhook の配信に失敗した場合:

    • Bitrise と GitHub の両方で webhook URL を確認してください。

    • 必要に応じて、GitHub で webhook シークレットを再作成し、新しいシークレットを Bitrise の GHES 統合に貼り付けます。

Bitriseでの統合の確認

GHES インスタンスに接続されている任意のプロジェクトの統合をテストできます。

  1. Bitriseでアプリを開くには、 管理者 アプリチームでの役割

  2. に移動します 設定 タブ。

    project-settings-button.png
  3. 左側には 設定 ページ、選択 統合

  4. 上の Git プロバイダー タブで、 Git 統合ステータス セクション。

  5. GitHub Enterprise Serverインスタンスの横にある テスト接続 接続をテストするためのボタン。

GitHub Enterprise Server の追加のリンクされたリポジトリ

GitHub Enterprise Serverを使用するプロジェクトに追加のリポジトリをリンクすることができます。リポジトリをリンクすると、プロジェクトに複数のリポジトリへのアクセス権が付与されます。 デフォルトのリポジトリ

構成の詳細については、こちらをご覧ください: GitHub アプリ経由でリンクされた追加のリポジトリ

Enterprise Server ユーザー向けの GitHub App 権限の拡張

Bitrise GitHub アプリは、アプリ経由でトリガーされるビルドごとに、短期間の一時トークンを生成します。このトークンには、デフォルトで 1 つの権限のみがあります。 content:readつまり、ビルドは GitHub リポジトリにアクセスできますが、それ以外のことは何もできません。

GitHub Appのすべての権限を拡張することで、ビルドトークンに追加の権限を付与することができます。詳細については、 GitHub Appの権限をビルドに拡張する