今回は、Serverless Framework+Node.jsをつかったLambda関数の具体的な開発フローを書いてみる。動作確認やテスト、CI連携まで一貫して行なったので、参考になればと思う。 つくったもの Webアプリケーション側である変更がはいった際に、複数のRDBとElasticsearchにまたがるデータを合わせて更新する、という、中間的な役割を実装した。S3に更新のデータが5分毎にPUTされるので、そこからイベントを取る。 フロー全体 一連の開発フローとしては以下のような流れになる。 ロジック実装/ユニットテスト ローカルでの結合テスト development環境での結合テスト PR作成(CIでテストの実行) レビュー マージ(CIでテストの実行) staging(production)環境へデプロイ staging(production)環境での結合テスト UIがないという
![Serverless Framework+Node.jsをつかったLambda関数の開発フロー - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/df03a6cdbf2a002f58f6da43eb0c10a3b428bc57/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9U2VydmVybGVzcyUyMEZyYW1ld29yayUyQk5vZGUuanMlRTMlODIlOTIlRTMlODElQTQlRTMlODElOEIlRTMlODElQTMlRTMlODElOUZMYW1iZGElRTklOTYlQTIlRTYlOTUlQjAlRTMlODElQUUlRTklOTYlOEIlRTclOTklQkElRTMlODMlOTUlRTMlODMlQUQlRTMlODMlQkMmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTA0OWIzNDg0MDAwMzgwMWEwNzAwYTY2YWMzMTE4MDFi%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwb2ttdHRkaHImdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWU5NWU2Mzk0OTliMTQ1M2YxNDRjMGJmNzNkYjY3NGMw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D2c37debef36f8aaec8ddb5ad1349e569)