Github Appを使用してCircleCIにサインアップしてみた

## はじめに
皆さんこんにちは!
CircleCIテクニカルサクセスマネージャーの小島です。
日々お客様にCircleCIの機能を最大限活用していただけるよう、活動しております！
私事ですが、最近駅の階段を降りていて最後の一段を踏み外し、静かにこけた結果、、
足首を骨折いたしました。。スマホを見ながらの移動は本当に危険だと実感いたしました。
皆さんもお気をつけください。

本日は今年夏に発表されたGitHub Appを利用したサインアップ方法などを紹介していきたいと思います！

## GitHub Appを利用した新規ユーザーとしてのサインアップ方法

CircleCIに新規ユーザーとしてサインアップする方法を以下で紹介します。
CircleCIのアカウントを無料で作成するには、Sign Upページでメールアドレスとパスワードを入力します。

既にCircleCIを利用しているチームメンバーが存在しておらず、新しくCircleCIアカウントをセットアップするため、No, I'm setting up CircleCI for my teamを選択します。
    

![スクリーンショット 2023-12-01 16.53.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2634965/c9bd2fbc-08af-676c-08c7-e0135c5184b1.png)

![スクリーンショット 2023-12-01 16.57.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2634965/bfa8a3b5-9c25-9187-5c00-57cbfa113aaf.png)

簡単なアンケートに答えていただき、サインアップは完了します。

![スクリーンショット 2023-12-01 17.00.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2634965/fdfc2626-20dd-9796-b1ff-f59f16502b53.png)

    
次に、VCSを接続するためコードリポジトリを含むVCSを選択します。
GitHub、GitLab(クラウド)、GitLab Self-Managed、または Bitbucketより選択可能です。
GitHubの場合、CircleCI GitHub Appをインストールする画面が表示されます。このステップでは、CircleCIがアクセスできるリポジトリを指定するか、GitHub組織内のすべてのリポジトリにCircleCIがアクセスできるようにします。

無事にVCSとの接続が完了すると、CircleCIウェブアプリのダッシュボードに移動してみましょう。
ここから、パイプラインのトリガー、プロジェクトの作成、チームメンバーの招待を行うことができます。

![スクリーンショット 2023-12-01 17.13.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2634965/132f754a-11d8-82bc-504f-6dac393e7520.png)


次に新しいプロジェクトを作成してみます。
Projectsページを選択し、Create Projectボタンを押すと、以下の画面が表示されます。

![スクリーンショット 2023-11-30 17.07.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2634965/7929b825-1b65-0bc3-6c14-6ec457ac46d5.png)

接続するVCSを選択後、SSH keyを追加してプロジェクトの新規作成が完了します。


Github Appを使用してサインアップした際の大きな利点として、ユーザーの権限をCircleCIで管理できるようになっています。
![スクリーンショット 2023-11-30 17.20.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2634965/0fcca3c3-419a-c19d-9db1-232875045ec8.png)
Organization Settingsページに移動すると、Peopleというページからユーザーの権限を管理できます。

## GitHub Authでサインアップした既存メンバーが新規ユーザーを招待する方法

大体のユーザーの方々は既にGitHub AuthでCircleCIにサインアップしてご利用いただいているケースが多いかと思います。
既存ユーザーは、Singed up with GitHub or Bitbucket before September 2023のボタンを押すとGithub Auth経由でのログインが可能です。

![スクリーンショット 2023-12-04 9.24.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2634965/78a300b5-db0b-bf10-5812-9edac08f59f2.png)


ログイン後、新規ユーザーを招待する際は、プロジェクト名の横にあるAdd Team membersボタンをクリックし、招待リンクを作成します。
![8f27972075402fe214b9735064256750274ebfad (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2634965/18763db1-4ef0-b095-f44a-442956942891.png)
![raCKQAOtLcWWfkIAlb28xC5m0NBhRzvgHftq44qxWzkoMMcBj3WcTEuegv-_6-1Ik6Jl5rQeHT3TmC4MQ25mDTIW--Ln-L4riFIc_EWriczfTKNPNLXnJ6ZWNcVGZuzl0_-sPLsnl9WOnkDadXp_nRo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2634965/14f6f557-d338-43c5-6c1f-28cd6341d156.png)

Invite my teamボタンをクリックすると招待リンクがコピーされるので、新規ユーザーにリンクを共有し、新規ユーザーはそのURLを介してサインアップをお願いします。


## 注意事項
今現在、GitHub Appを使用してサインアップしたユーザーには、CircleCIの以下の機能が利用不可となっております。
- Re-run with SSH 
- Scheduled pipelines/scheduled workflows
- Auto-cancel redundant builds
- Test Insights

利用制限がある全機能の詳細は[こちら](https://circleci.com/docs/github-apps-integration/#currently-not-supported)に記載されております。
CircleCIでは引き続き機能の利用制限をなくすための実装を行っております。
全ての機能が利用可能となるまで今しばらくお待ちください。


GitHub Authユーザーから招待されてサインアップしたユーザーは引き続き全機能をご利用いただけます。


## よくある質問
Q. GitHub Authユーザーとして新規ユーザーを招待したのち、特定のプロジェクトのみへの新規ユーザーのアクセスを制限したい場合、CircleCI上でできますか？

A. CircleCI上ではできず、Github上でのWrite権限、 Read Onlyなどの権限でコントロールしていただく必要があります。GitHub Appを介して新規にサインアップしたユーザーはPeopleページより管理していただけます。

Q. 招待リンクを介してサインアップしたがYou don't have permissionのページが表示されるのはなぜか？
![スクリーンショット 2023-11-30 18.13.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2634965/0d133c35-8511-c7c2-d575-74083eb14169.png)

A. Github上でリポジトリのWrite権限をもらえていないことが起因している可能性があります。もし既に権限をもらっているのにこの画面が出ていたら、Go to Homepageを押すとプロジェクトのページに飛ぶことができます。

Q. Github Appで作成したOrgのOrg名は変更できますか？
A. 現在変更はできません。開発チームは変更可能になるよう実装を計画しております。

Q. Github Appから作成したOrgを削除したい場合どこから削除できますか？
A. サポートチケットを提出し、削除依頼をお願いします。

Q. GitHub Auth経由でログインしたアカウントを使用していますが、GitHub Appに移行したいです。どうすればいいですか？
A. 機能制限があることをご了承の上、[ドキュメント](https://circleci.com/docs/github-apps-integration/#Moving-from-github-oauth-app-to-github-app)に従って移行のほどよろしくお願いいたします。


## 終わりに
今回は2023年12月時点でのプロダクトアップデートをご紹介させていただきました。
GitHub Appを利用したCircleCIの機能等は日々アップデートされていきます！
今後のアップデートにつきましては、[チェンジログ](https://circleci.com/changelog/)や[Discussページ](https://discuss.circleci.com/t/circleci/49061)をぜひチェックしてみてください。

また、サインアップの際やチームメンバーの方の招待の際にうまくいかないなどの問題が発生した場合、お気軽に[サポートチーム](https://support.circleci.com/hc/ja/requests/new)へお問い合わせください。

それでは皆さん素敵なクリスマスと良いお年をお過ごしくださいー！