【AWS】検証！AWS Builder IDを使ってAmazon CodeCatalystをセットアップする


## はじめに

この記事ではAmazon CodeCatalystをセットアップする方法について説明します。
誤りなどがあれば、修正してく予定です。

## 統合的なAWSのデベロッパーツールですか？Amazon CodeCatalystがありますよ

AWSのデベロッパーツールとして、CodeGuru、CodeCommit、CodeBuild、CodeDeploy、CodePipeline、CodeArtifact、CodeStar、CodeStar Connectionsなどがあります。

広い意味でとらえるとAWS CDKやAWS CLI、AWS SDKもデベロッパーツールかもしれません。
※CDKはいってしまえば、変な話、「AWSのクラウドインフラをプログラミングする」みたいなものです。AWS CLIをデプロイツールとして使ってデプロイすることもあるかもしれません。AWS SDKはいわずもがなです。

いずれにしても本格的なプロジェクト管理やCI/CDを実践するには、これらのツールを組み合わせて実現します。また、実現の過程で似たような構成を何度も作ることになるかもしれません。

たとえば、CodePipelineでCI/CDを実現する場合、CodeBuildでビルド、CodeDeployでデプロイ、CodeCommitでソースコードを管理することになります。もしくはGitHubのリポジトリかもしれません。これらの設定を必要になったタイミングで何度も繰り返すのは、とても大変です。

なお、これらのインフラ構築はCodeシリーズに限った話ではありません。たとえば、ECSやEKSのクラスターを構築する場合も、同様の問題が発生します。

そこで、Amazon CodeCatalystが登場します。

## Amazon CodeCatalystとは

Amazon CodeCatalystは、ソフトウェア開発プロセスに継続的インテグレーションとデプロイの方法を採用するソフトウェア開発チーム向けの統合サービスです。

[Amazon とは何ですか CodeCatalyst? - 参考](https://docs.aws.amazon.com/ja_jp/codecatalyst/latest/userguide/welcome.html)

用語については[過去の記事](https://qiita.com/ymd65536/items/778c8b21618a17f9d455)を参照してください。

利用には、AWSアカウントの他に、AWS Builder IDが必要です。
また、外部のリポジトリとしてGitHubを利用する場合は、GitHubのアカウントも必要です。
なお、IAM Identity Centerを利用してログインするこことも可能です。

## 前提

今回はAWS Builder IDとGitHubのアカウントを利用してセットアップします。
※IAM Identity Centerを利用した方法については後日、別の記事で紹介します。

必要なもの

- AWSアカウント
  - Admin相当の権限で利用できること
- AWS Builder ID
- GitHubのアカウント
  - 個人や組織でも可（組織の場合はその組織のオーナーにリポジトリをCodeCatalystにリンクしても良いか聞いてね）

## Amazon CodeCatalystのセットアップ

まずは、AWSのマネジメントコンソールを開きます。
検索窓から「CodeCatalyst」を入力し、CodeCatalystを選択します。

なお、AWSのマネジメントコンソールからCodeCatalystにログインはできません。CodeCatalystのページにアクセスする必要があります。

![different_login1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/8eaeab18-1149-d45a-27e6-0108acfced51.png)

## Continue with AWS Builder ID

AWS Builder IDでログインするため、[Continue with AWS Builder ID]をクリックします。

![different_login2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/a5f8c05d-ad94-5447-3ca6-9da588378138.png)

`Sign in with AWS Builder ID`をクリックします。

![cc_login2-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/dd5d07d2-0688-a4c2-527c-af5654308464.png)

AWS Builder IDでログインします。今回は事前に登録しておいたメールアドレスとパスワードを入力します。
まずはメールアドレスを入力して、次へをクリックします。

![builder_id1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/e34e094e-4140-d297-0ce0-eb39a430b52c.png)

次にパスワードを入力して、サインインをクリックします。

![builder_id2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/5ddfe9b2-31b7-cecd-d07d-6d7b7b6a8a70.png)

## スペースの作成

CodeCatalystではスペースを作成したのち、その中にプロジェクトを作成します。
プロジェクトにはリポジトリが含まれます。もちろん、ここにはGitHubのリポジトリをリンクできます。

では、スペースを作成します。
スペース名とAWSのアカウントIDを入力します。リージョンはオレゴンです。
`Verify in AWS`をクリックします。

![cc_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/6dea91ed-8730-82d2-2332-1b2573d4bcd0.png)

次に`Verify space`をクリックします。

![cc_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/fabe0c90-63e8-2b81-e9d9-683fb8d9b5a7.png)

`Verify space`クリック後は以下のような画面に遷移します。

![cc_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/e7608ca5-b5a3-10c7-5b92-e5b10bbd0b07.png)

元の画面に戻って、`Create space`をクリックします。

![cc_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/9cb9a8f9-6436-3233-a13c-170fa021ad30.png)

これでスペースが作成されました。

## プロジェクトを作成する

次にプロジェクトを作成します。`Create project`をクリックします。

![cc_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/c313501e-a671-5355-1af7-5155b10f8098.png)

ブループリントからプロジェクトを作成することもできますが、今回はGitHubからリポジトリをリンクするため、`Start from Scratch`を選択します。

プロジェクト名は任意の名前を入力します。今回は`GitHubProject`とします。

![cc_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/3dd092d0-b694-309d-dbb1-b0c15770fae4.png)

## GitHub 拡張をインストールする

CodeCatalystでGitHubのリポジトリを利用する場合はGitHub拡張をインストールする必要があります。
マーケットボタンをクリックします。

![cc_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/980cef86-4fac-006a-3cbd-858aef0c51a6.png)

GitHub拡張をインストールします。`Install`をクリックします。

![cc_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/ef7aa7d4-3d32-ec58-1034-28d6afb77207.png)

同意画面が表示されますので、`Install`をクリックします。

![cc_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/0cba4102-77ed-a62a-2590-542aea551a09.png)

これでGitHub拡張がインストールされました。

## GitHubアカウントとリンクする

インストールしたGitHub拡張を使って、GitHubアカウントをリンクします。
`Connect GitHub Account`をクリックします。

![cc_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/211f77da-1757-7724-97f8-44fbabf3b5ec.png)


ユーザIDとパスワードを入力して、`Sign in`をクリックします。

![cc_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/3d9dd4c8-68df-35e7-d25c-363d8357aaa9.png)

※GitHub Mobileの認証が必要な場合は、認証を行ってください。

![cc_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/7738f06c-467f-deab-379b-fb90a56a0b36.png)

`Authorize Amazon CodeCatalyst`をクリックします。

![cc_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/b9b301e5-c93f-12d6-8eac-8df982164594.png)

これでGitHubアカウントとリンクされました。

![cc_15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527543/037827f3-00d8-1776-67f6-b463528cbe6b.png)

## まとめ

以上でAmazon CodeCatalystのセットアップが完了しました。
これで、CodeCatalystを使ってGitHubのリポジトリを使ったプロジェクトを作成できます。
今回は、AWS Builder IDを使ってセットアップの過程を紹介しましたが、IAM Identity Centerを使ってログインすることも可能です。