LoginSignup
6
0

More than 1 year has passed since last update.

非 Owner ユーザーにおける CodePipeline と GitHub v2 Source Action の連携

Last updated at Posted at 2022-04-28

背景

CodePipeline で GitHub を Source Action とする場合、v1 と v2 が選択できる。
2022/04 現在、v1 は非推奨の方法となっている。

GitHub バージョン 1 アクションは OAuth トークンを使用して GitHub で認証し、別のウェブフックを使用して変更を検出します。これはもはや推奨される方法ではありません。
https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/update-github-action-connections.html

必然的に v2 を選ぶことになるが、非 Owner な GitHub アカウントで作業したときにハマったのでメモしておく。

v2 連携するために必要な手順

以下が詳しい。

ざっくりと記すと、以下のようになる。

  1. GitHub コネクションを作成する
  2. AWS Connector を GitHub にインストールすることで、コネクションを利用可能にする
  3. パイプラインの Source Action で GitHub (バージョン 2) を選択する

ハマった点

非 Owner アカウントで AWS Connector のインストールができない

手順の 2. にて、GitHub コネクションを有効化するために AWS Connector というものを GitHub にインストールする必要がある。

image.png

パイプラインで扱いたいリポジトリを含む GitHub の Organization を選択するわけだが、選択した Organization において自身が Owner 権限を持っていない場合、以下のようなエラーになる。

image.png

マネージドコンソールを操作する人が Owner の GitHub ユーザーでログインしている必要がある

エラー発生後、以下のようなメールが Organization のメール宛に届く。

Integration Installation Request
@tsubasaogawa requests you to install AWS Connector for GitHub for <Organization Name>

Hello there!

You’re receiving this email because @tsubasaogawa has requested the installation of AWS Connector for GitHub at your organization <Organization Name>.

To review the request, please click here.

「click here」から AWS Connector をインストールする画面にいけるようだったので、Owner 権限を持っている人に代わりにインストールしてもらった。

これで Organization に AWS Connector がインストールされたはず。コネクションの有効化もできる算段だったのだが、以下の画面で「GitHub アプリ」にインストール済の Connector が表示されなかった。

image.png

原因は、作業時にやはり非 Owner の GitHub ユーザーでログインしていたため。Owner ユーザーでログインされていれば、以下のように「GitHub アプリ」にサジェストされる。

image.png

まとめ

GitHub の Owner ユーザーで作業すれば、上記のような問題は生じずにスムーズに進めるはず。逆に非 Owner ユーザーの場合は、一時的に Owner にしてもらうなどしてから作業するのが確実と思われる。

6
0
1

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
6
0