SSOが有効化されたGHECからAWS CodeBuildでソースを取得させるときに躓いたこと

CodeBuild, GHEC

概要

本記事が投稿されている頃、レコチョクでは、GitHub Enterprise Server(以後GHES)からGitHub Enterprise Cloud(以後GHEC)への移行が順次行われています。
これに伴って、SSOでの認証が必要となりました。

AWS CodeBuildを用いたビルドを行なっていた場合、ソースの取得元をGHEC上のリポジトリへ変更する必要が出てきた訳ですが、それ以上に必要な事柄があり苦労しました。
本記事ではその内容を説明していきます。

前提

GHES上のソースをAWS CodeBuildによってビルドしたことのある方向けに書きます。
経験のない方はAWS公式や任意の記事をご覧になってください。

アクセストークンについてOrganizationからの承認を受ける

CodeBuildにGitHubよりソースを取得させる場合、アクセストークンを発行します。
GHESの場合とは異なり、アクセストークン発行後に、アクセス先のOrganizationからの認証を受ける必要があります(くわしくはこちら)。

トークン発行後の画面やトークンの一覧画面から Configure SSOが行えるので、クリックし、
目当てのソースが格納されているOrganizationを選択します。

スクリーンショット 2023-06-28 16.15.55.png

ソースの取得元の設定

CodeBuildのビルドプロジェクトの設定を変更することで、ソースの取得先を指定することが可能です。
GHESの場合とは異なり、下記のように設定を行う必要があります。

  • ソースプロバイダ → GitHubを選択
    • GitHub Enterpriseではない
  • リポジトリ → GitHubアカウントのリポジトリを選択
  • GitHubリポジトリ → 表示される一覧から選択
    • ここでリポジトリの一覧が表示されない場合は、アクセストークンの発行が正しく行えていない可能性あり

スクリーンショット 2023-06-28 16.07.03.png

CodeBuild, GHEC