以前書いた通り、GitHub 移行を色々試しております。
上記に記載した通り、仕事専用の無料アカウントを作ることはできません。 必然的に個人アカウントと連携することになります。
CodeBuild のソースを GitHub 連携する必要があるので対応を行います。 連携自体は、OAuth 設定を利用するととても簡単に行うことができました。
OAuth を使用して接続する
- GitHub に接続
で GitHub 側で連携設定を許可すれば完了です。
CodeBuild との連携は、GitHub の Settings
から Applications
で確認できます。
Organization に許可する場合は、許可するアプリを選んで access 設定が必要です。
連携後、所属する Organization のリポジトリはもちろんのこと、個人リポジトリもすべて見えます。
ここで問題は、CodeBuild のソースは、AWS コンソールにサインインできて、CodeBuild の編集権がある IAM ユーザーにも同じ情報が見えてしまうこと。 CodeBuild へのアクセス権を消せば問題ないのですがそういう訳にもいかないことが多いかと思います。 これを回避するためには以下の条件が必要です。
- Organization に所属する場合、Organization の管理者ではない
- 管理者でない場合、他のリポジトリへのアクセス権が
none
である
- 管理者でない場合、他のリポジトリへのアクセス権が
- 個人アカウントのプライベートリポジトリを所有していない
- 対象となるリポジトリの管理者権限を持っている
チーム内にこの条件に合致する人がいれば問題ありませんが、いない場合は CodeBuild 連携するために専用の GitHub Pro アカウントの作成が必要そうです。
なお、CodePipeline であれば一度連携したリポジトリを編集できないので、この問題は回避できそうではありました。