freks blog

about

AWS Fargate「CodePipeline を使用した継続的なデプロイ」をやってみた

created: 2020-04-05
おすすめ記事: 出会ってよかったプログラマー本

チュートリアル: CodePipeline を使用した継続的なデプロイ - Amazon Elastic Container Service をやってみました

Fargateは、RailsアプリをFargateに乗せてみた を使いました
ソースプロバイダつまりは、コードのリポジトリは、AWSのCodecommitを使わず、GitHubにしました

理解するのにじっくり読まないとわからなかったので、自分の言葉で手順をまとめると

Codebuild部分

  • ECRにリポジトリを用意
  • buildspec.ymlはCodebuildが使い、Docker imageの作成、pushを行う
  • buildspec.ymlの最後に出力しているimagedefinitions.jsonは、ECSのコンテナ名を紐付けるためのもの

CodePipeline部分

  • ソースコードをどこにおいているか指定 今回はGitHub repository(private)にしました
  • どこでCodebuildを走らせるか、つまりはDocker imageをビルドするか指定
  • デプロイプロバイダを指定、つまりはECSのクラスター名、サービス名を指定
    • これでDocker imageがpushされた後にタスクの更新が走る

うまくうごいたのですが、Docker containerの更新だけで、db migrationを走らせられてないです..

Codebuildで使うRDSにアクセスできるようにしてあげて、buildspec.ymlにdb migrationするコマンドを足すとできそう


Amazonのアソシエイトとして、blog.freks.jp は適格販売により収入を得ています。
This site is managed by freks