CodePipeline+ECSでCI/CDできた

CodePipelineでECSにデプロイすることに挑戦して、苦戦しながらなんとかできました。CI/CDの全体的な流れがわかってきたので収穫はけっこう大きいです。まだ細かい設定は覚えきれてないですが、今回はマネジメントコンソールから操作したので次はCloudFormationとかAWS CLIで操作したりして繰り返しCodePipeline構築しながら理解深めていきます。

昨日に引き続きこちらの動画を観ながら勉強しました。この動画も解説丁寧でありがたいです。

www.youtube.com

自分でもEC2にDockerインストールして、DockerイメージビルドしたらECRにプッシュして、ECSを起動するなど動画のやり方そのままでできました。 CodeCommit、CodeBuildも順調に構築できて、CodeDeployを使ったECSへのデプロイがもうすぐできそうというところで動画が終わってしまっていて、そこから自分で調査してだいぶ苦戦しましたが、どうやらECSのタスク定義で指定するコンテナ名とimagedefinitions.jsonファイルの記述が違うことまで辿りついて、タスク定義でコンテナ名をimagedefinitions.jsonの内容と合わせたらCodeDeployまで成功しました。

最後の方は自分で調べただけに達成感も大きかったです。まだ一回成功しただけなので、ゼロからすぐCI/CD構築できるスキルはないですが、今後座学で細かい設定の知識深めていけばだいぶ良い感じにスキル上げていけそうな手応えがあります。 シンプルな設定でいいので、一度実装が成功すればその後の座学の吸収効率がすごく良くなると思ってます。なので座学を進める前に、手を動かすことを優先する方が好きですね。

いずれ時間作ってCodePipelineの操作手順をブログ記事にまとめたいところですが、とりあえず今日は一旦インフラの勉強は終わって、Nuxt.jsのコーディングを進めます。