開発者向け構築
はじめに
ここでは鳴子をカスタマイズして利用したい方や鳴子に貢献をしてくださる開発者の方々に向けた環境構築の手順を示します。 本手順を踏むことで、AWSのCodeStarを利用した検証環境、CI環境を作成することができます。
もし鳴子をカスタマイズすることなく利用することが目的の方は環境構築を参照してください。
1.ファイルの修正
environment.config
以下の編集によって設定値を環境ごとに分けることができます。
環境を分けずに開発する場合は編集する必要はありません。
option_settings:
- option_name: environment
- value: prod
+ value: dev
buildspec.yml
以下の編集によってmasterブランチへのPush時にテストコードを実行させることができます。
テストコードの実行が不要な場合は編集する必要はありません。
pre_build:
commands:
# Discover and run unit tests. For more information, see <https://docs.djangoproject.com/en/2.0/topics/testing/overview/>
- # - python manage.py test --settings config.settings.production
- # - npm run test:unit
+ - python manage.py test --settings config.settings.production
+ - npm run test:unit
2.CodeStar
環境構築の1.CodeStarを参照してください。
3.設定値の作成
環境構築の2.設定値の作成を参照してください。
それに加えて、各設定値キーの先頭に「DEV_」を加えたものを作成してください。
「DEV_」の値は ファイルの修正でenvironment.configを修正した環境で読み込まれます。(そうでない環境ではそのままのキーで設定値を読み込みます。) またデプロイ時に実行されるテストコードでも「DEV_」がついた設定値を読み込みます。
4.SES設定
環境構築の3.SESを参照してください。
5. Amazon Connect 設定
環境構築の4. Amazon Connect 設定を参照してください。
6.Iamロールの設定
環境構築の5.Iamロールの設定を参照してください。
7.CodeBuild
CodeStarからPythonの環境を作成した場合、CodeBuildのビルド環境は2018年12月28日時点でPython3.5.2が使用されているためCodeBuildの環境をPython3.6.5に変更します。
この際そのまま変更しようとすると
「Role XXXXXXXXXXXXXXX trusts too many services, expected only 1.」
といったメッセージにより環境の更新が行えません。
そのためCodeBuildに割り当てるロールをCodeBuildのみ信頼したものに再設定します。
CodeBuild用Iamロール作成
信頼関係はCodeBuildのみを選択します。
ここで作成したIamロールに6.Iamロールの設定で作成したポリシーをアタッチします。
またほかのポリシーについては「CodeStarWorker-{CodeStarのプロジェクト名}-ToolChain」にアタッチされているポリシーを参考に設定します。
CodeBuild環境更新
CodeBuildの環境を以下のように編集します。
オペレーティングシステムを「Ubuntu」
ランタイムを「Python」
ランタイムバージョンを「aws/codebuild/python:3.6.5」
イメージのバージョンを「このランタイムバージョンには常に最新のイメージを使用してください」
サービスロールを上記で作成したロールにします。

CodeBuildから接続するDBによってはここでVPCやサブネットの設定をする必要があります。
参考:AWS CodeBuildビルドからVPC内のリソースにアクセスする
8.ソースコードの反映
環境構築の5.ソースコードの反映を参照してください。
9. 動作確認
環境構築の6.動作確認の設定を参照してください。