AWS CodeBuildとGitHubを連携させる
AWSを使ってCI環境を構築してみようと思い探していると、こんなサンプルを見つけました。
今回はこれを参考にして構築してみたログです。
ビルドプロジェクトの作成
AWS CodeBuildのページへ行き、「プロジェクトの作成」をクリックします。
プロジェクト名は任意の名前を入力します。
次のソースでは「GitHub」を選択します。 このとき、GitHubのアクセストークンを登録していなければ、GitHubからアクセストークンを取得し保存します。
アクセストークンはGitHubの、「Settings / Developer settings / Personal access token」 から取得できます。
権限のスコープは、以下の2つをチェックします。 (参考)
- repo
- admin:repo_hook
トークンを登録すると項目が変わるので、リポジトリとブランチを設定します。
リポジトリへの push に hook させるために「コードの変更がこのリポジトリにプッシュされるたびに構築する」のチェックを入れます。
ここが今回のキモです
環境は任意なもので大丈夫です。
マネージド型イメージは、CodeBuildで管理されているDockerイメージです。
イメージの一覧は以下のリンクから確認できます。
https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/build-env-ref-available.html
Buildspecは、今回は「buildspecファイルを使用する」の方にします。
残りのアーティファクトとログは特に設定なしで大丈夫です。
設定が完了したら「ビルドプロ ジェクトを作成する」で作成します。
buildspec.ymlの作成
さきほど設定したリポジトリのルートに buildspec.yml
を作成します。
構文は以下のドキュメントにまとまっています。
今回は、特にビルドですることがないので、シンプルな形で設定してみます。
version: 0.2 run-as: test-user
push する
実際に push して動くかを確かめます。
push 後に CodeBuild 内のプロジェクトのステータスが「進行中」になっていればOKです。
まとめ
AWS CodeBuild を GitHub に連携させてみました。
今回はかなりシンプルな例で、buildspec.yml もほぼ書いていないので、もっと複雑な構成の中でも使っていきたいですね