GitHub Enterprise ホストに接続する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、GitHub Enterprise ホストを Cloud Build に接続する方法について説明します。

準備

  • Cloud Build and Secret Manager API を有効にします。

    API を有効にする

  • GitHub Enterprise の最新バージョンを使用していることを確認します。
  • カスタム ドメインを GitHub Enterprise ホストにマッピングし、ホストに有効な SSL 証明書があることを確認します。

必要な IAM 権限

GitHub Enterprise ホストに接続するには、Cloud Build 編集者(roles/cloudbuild.builds.editorロールとCloud Build 統合オーナー(cloudbuild.integrations.ownerロールをユーザー アカウントに付与します。

必要なロールをユーザー アカウントに追加するには、Cloud Build リソースへのアクセスの構成をご覧ください。Cloud Build に関係する IAM ロールについて詳しくは、IAM ロールと権限をご覧ください。

GitHub Enterprise ホストへの接続

GitHub Enterprise インスタンスに GitHub アプリケーションを作成する必要があります。アプリは Webhook イベントを Cloud Build エンドポイントに送信します。このようなイベントが受信されると、Cloud Build はペイロードを検証し、そのイベントが Cloud Build GitHub トリガーに対応する場合はビルドを実行します。

このセクションでは、GitHub アプリを作成する方法について説明します。

  1. GitHub Enterprise インスタンスにログインします。
  2. GitHub Enterprise の最新バージョンがインストールされていることを確認します。

    一部のバージョンの GitHub Enterprise では、Chrome ブラウザで次の手順を実行するために SameSite Cookie を無効にする必要がある場合があります。2.21.3 リリース以前の GitHub Enterprise を使用している場合は、SameSite Cookie を無効にする必要があります。

    1. chrome://flags/ に移動します。
    2. フィルタバーに「samesite」と入力します。
    3. SameSite by default cookies が無効になっていることを確認します。

      SameSite が無効のスクリーンショット

    4. ブラウザを再起動します。

  3. Cloud Build の [リポジトリの管理] ページを開きます。

    [リポジトリの管理] ページを開く

  4. [ホストに接続] をクリックします。

    [ホストに接続] パネルが表示され、GitHub Enterprise リポジトリを Cloud Build に接続するホスト接続を作成するよう求められます。

  5. [ホスト URL] セクションに、GitHub Enterprise インスタンスの URL を入力します。例: ghe.example.com

  6. [API キー] セクションで [生成] をクリックして API キーを生成します。既存の API キーがある場合はそのキーを入力します。

    API キーを手動で作成する場合は、次の手順を実行します。

    API キーを取得するには:

    1. Cloud Console で [認証情報] ページに移動します。

      [認証情報] ページを開く

    2. [認証情報を作成] をクリックします。

    3. [API キー] をクリックします。

      作成した API キーとともにポップアップ ボックスが表示されます。

    4. [キーを制限] をクリックします。

    5. [API の制限] で、プルダウン メニューから [Cloud Build API] を選択します。

    6. [保存] をクリックします。

  7. (省略可)[組織] セクションで、GitHub アプリを作成する組織を入力します。このセクションを空白のままにすると、アプリは現在のユーザー アカウントの下に作成されます。

  8. [省略可] [CA 証明書] セクションで [参照] をクリックして、自己署名証明書をアップロードします。証明書のサイズは 10 KB 以下の PEM 形式(.pem.cer、または .crt)にする必要があります。このセクションを空白のままにすると、デフォルトの証明書のセットが使用されます。

  9. (省略可)GitHub Enterprise インスタンスがプライベート オンプレミスでホストされている場合は、[ネットワーク] セクションにネットワークのネットワーク プロジェクトの名前とネットワーク名を入力します。プライベート ネットワークでリポジトリをビルドする場合は、この手順を完了する必要があります。詳細については、プライベート ネットワークで GitHub Enterprise からリポジトリをビルドするをご覧ください。

  10. [ホストに接続] をクリックします。

    GitHub Enterprise インスタンスがピアリングされたネットワーク上にある場合、ホスト接続プロセスが完了するまでに数分かかることがあります。

  11. リポジトリを Cloud Build に接続するには、[リポジトリを接続] をクリックします。それ以外の場合は [完了] をクリックします。

  12. ホストを接続すると、ポップアップ ボックスが表示され、GitHub Enterprise アプリの名前を入力するように求められます。アプリの名前を入力する前に、ログインを求められる場合があります。ブラウザに Google Chrome を使用している場合、GitHub Enterprise アプリに関する情報を手動で入力するよう求めるポップアップ ページが表示される場合があります。

  13. ログイン後、GitHub アプリの名前を入力します。

  14. [GitHub アプリを作成] をクリックします。

    これで、GitHub Enterprise インスタンスで GitHub アプリが作成されました。Cloud Build が Secret Manager に認証情報を自動的に保存して、ホストを Cloud プロジェクトに接続します。API では、この接続は GitHubEnterpriseConfig リソース、または Cloud Build と GitHub Enterprise Server 間の関連付けとして表されます。

    これで、ホストが正常に接続されました。リポジトリを Cloud Build に接続する場合は、[リポジトリを接続] をクリックします。 詳細については、GitHub Enterprise リポジトリに接続するをご覧ください。

次のステップ