CI/CD

CircleCI + AWS CodeDeployによるテスト・デプロイの自動化

参考

  • https://qiita.com/hkanazawa/items/4064bf447bd3866b1c3d
  • https://dev.classmethod.jp/articles/circleci-codedeploy/

内容

CodeDeploy

  • アプリーケションを作成する
  • デプロイグループの設定
  • デプロイロールの設定
  • ...

CodeDeployの設定ファイル - appspec.yml

  • デプロイ対象とデプロイ先を記述する
  • S3からソースコードをpullした後に実行させることをAfterInstallに記述する
  • https://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/reference-appspec-file.html#appspec-reference-server
  • https://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/deployments-create-console.html
  • https://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/application-revisions-appspec-file.html#add-appspec-file-server

Circle.ciの設定ファイル - circle.yml -> .circleci/config.yml

  • CI環境でテストする内容をtestに記述する
  • CodeDeployによるデプロイ内容をdeploymentに記述する
  • https://circleci.com/docs/ja/2.0/language-python/?section=examples-and-guides
  • https://circleci.com/developer/orbs/orb/circleci/aws-code-deploy

aws-cliのインストール(macos)

https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html

$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
$ aws --version
aws-cli/2.2.25 Python/3.8.8 Darwin/19.6.0 exe/x86_64 prompt/off