Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS codeシリーズを使ったCI_CDに挑戦した

cs_sonar
August 28, 2021

AWS codeシリーズを使ったCI_CDに挑戦した

kyoto.lt #26 onlineでの発表資料です

cs_sonar

August 28, 2021
Tweet

More Decks by cs_sonar

Other Decks in Technology

Transcript

  1. NOW

  2. WHAT ARE WORKING ON AWS版github ビルドされたソフトをデプロイ を自動で実行。今回は blue/greenのために利用。 コードのビルドやテストを行 いデプロイ可能なパッケージ

    を作成できるサービス。 CircleCIとかJenkinsみたい なやつ。 CodeCommit CodeDeploy CodeBuild 左3つのcodeシリーズの流 れをとりまとめてくれる頼れ る兄貴。PMみたいな人。 CodePipeline
  3. CodeCommit CodeBuild CodeDeploy Source Artifact ・gitの内容全て ・buildspec.yml ・appspec.yaml ・taskdef.json 出力

    出力 CodePipeline GitHub docker image ECS (blue/green deploy) ECR Build Artifact ・ImageDetail.json ・appspec.yaml ・taskdef.json
  4. CodeCommit CodeBuild CodeDeploy CodePipeline GitHub Source Artifact ・gitの内容全て ・(buildspec.yml) ・(appspec.yaml)

    ・(taskdef.json) 出力 CodeBuildはLinuxサーバーを立ち上げ、Source Artifact の内容をダウンロードしてきて展開した状態から 利用できます。 その中でbuildspec.ymlに書かれた内容を実行してくれ ます。
  5. CodeCommit CodeBuild CodeDeploy CodePipeline GitHub Source Artifact ・gitの内容全て ・(buildspec.yml) ・(appspec.yaml)

    ・(taskdef.json) 出力 Build Artifact ・ImageDetail.json ・appspec.yaml ・taskdef.json 出力 docker image ECR
  6. CodeCommit CodeBuild CodeDeploy CodePipeline GitHub Source Artifact ・gitの内容全て ・(buildspec.yml) ・(appspec.yaml)

    ・(taskdef.json) 出力 Build Artifact ・ImageDetail.json ・appspec.yaml ・taskdef.json 出力 docker image ECR
  7. CodeCommit CodeBuild CodeDeploy Source Artifact ・gitの内容全て ・buildspec.yml ・appspec.yaml ・taskdef.json ECS

    (blue/green deploy) 出力 出力 CodePipeline GitHub docker image ECR Build Artifact ・ImageDetail.json ・appspec.yaml ・taskdef.json
  8. CodeCommit CodeBuild CodeDeploy Source Artifact ・gitの内容全て ・buildspec.yml ・appspec.yaml ・taskdef.json 出力

    出力 CodePipeline GitHub docker image ECS (blue/green deploy) ECR Build Artifact ・ImageDetail.json ・appspec.yaml ・taskdef.json
  9. ①CodeDeployでtask definitionが読めない Exception while trying to read the task definition

    artifact file from: SourceArtifact. appspec.ymlやtaskdef.jsonを「SourceArtifact」から読んでいると出るエラー
  10. CodeCommit CodeBuild CodeDeploy Source Artifact ・gitの内容全て ・buildspec.yml ・appspec.yaml ・taskdef.json ECS

    (blue/green deploy) 出力 出力 CodePipeline GitHub docker image ECR Build Artifact ・ImageDetail.json
  11. Code Commit CodeBuild CodeDeploy Source Artifact ・gitの内容全て ・buildspec.yml ・appspec.yaml ・taskdef.json

    ECS (blue/green deploy) 出力 出力 Code Pipeline GitHub docker image ECR Build Artifact ・ImageDetail.json 実はCodeDeployのアーティファクトサ イズの制限は3MB!
  12. Code Commit CodeBuild CodeDeploy Source Artifact ・gitの内容全て ・buildspec.yml ・appspec.yaml ・taskdef.json

    ECS (blue/green deploy) 出力 出力 CodePipeline GitHub docker image ECR Build Artifact ・ImageDetail.json ・appspec.yaml ・taskdef.json CodeBuildで書き出してCodeDeployで 利用する
  13. ②CodeBuildがlimitエラー出る toomanyrequests: You have reached your pull rate limit. You

    may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit