こんにちは、ウヤルームのうや(@uyaroom)です!
今回も技術系の記事です。
最近AWS Lambdaを使ってLINE Botの開発をしています。



しかし、開発を進めていくと以下の問題が生じてきました。
- Lambdaのコンソール上で開発すると構成管理しづらくなってしまう
- ローカル環境で開発すると修正の度に数Stepのデプロイプロセスを踏む必要があり面倒
そこで、今回はローカル環境でのコード修正からLambdaにデプロイするまでのプロセスを
CodePipelineを用いて自動化しました。
Before
現在、ローカル環境でのコード修正からLambdaにデプロイするまでのプロセスは
以下のようになっています。
- コード修正
- 外部ライブラリと一緒にzip化
- AWS Lambdaのコンソールからアップロード
合計で5分もあれば終わるような手順ですが、何度もやると徐々に心が削られていきます。
After
以下のようにCodePipelineを用いてデプロイを自動化しました。
- CodeCommitに修正したコードをpush
- 1.をトリガーにCodePipelineが起動
- CodeBuildで外部ライブラリとコードを一緒にzip化してS3に格納
- S3に格納されたzipファイルからCloudFormationがLambda関数をDeploy
おわりに
Deployを自動化したことにより、コードの管理が楽になりました。
今回作成したDeployフローを基にして、
Lambdaのバージョニング機能も有効的に使えるようなフローに改善していく予定です。
皆さんも他に良いやり方があればぜひぜひ教えてください!
コメントを残す