aws環境でnode.js、lambda、CodeCommit、CodeBuild、CloudFormation、CodePipelineを使って開発作業を自動化する
はじめに
システムを作成する上で、運用や諸々の管理にかかる手間は相当なものです。そのため運用にかかる作業を自動化することで、本来注力したい付加価値を生むクリエイティブな仕事に専念できるようにしようと言われています(Twelve-Factor AppやAWS Well-Architected等)。そこで本記事ではawsでサーバレス環境を構築する上で必要なデプロイや管理作業を自動化し、開発者の作業ミスや手間を減らし、開発作業を効率化していくための情報をまとめます。
例えば、リモートリポジトリに変更をコミットするたびに自動的にテストが実行され、テスト結果がエラーの場合はメールで通知し、エラーがなかった場合はデプロイを実行するといった処理を自動化します。
各記事
以下に本稿のテーマに沿って作成した各記事へのリンクを貼ります。
Cloudformationを使ったlambda単体のデプロイ
デプロイの自動化のシンプルな例として、Cloudformationを使ったlambda単体のデプロイについて以下にまとめています。
CloudFormationを使ってlambda(node.js)環境を構築する
lambdaの起動条件(トリガー)込みでデプロイする例
lambda単体ではなく、lambdaの起動条件(トリガー)込みでデプロイする例について以下記事にまとめています。
CloudFormationを使ってCloudWatch Eventsでスケジュール起動されるlambdaをデプロイする
CodeBuildを使ってデプロイおよびテストを実行する
(JenkinsのようなCIツールである)CodeBuildを使ってデプロイおよびテストを実行する手段について以下にまとめています。
aws CodeBuildを使ってlambda(node.js)環境をテスト→デプロイする
コミットする度に自動テスト実行し、エラーならメール通知する
リモートリポジトリにコミットする度に自動的にテストを実行し、テストでエラーが出た場合メールで通知する仕組みの構築について以下にまとめています。
aws CodeBuildとAmazon SNSを組み合わせて単体テストエラー時にメールする
cloudformationのテンプレートをチェックしてからデプロイする
CodeBuildでデプロイする時に、事前にテンプレートファイルの文法チェックやスタックの存在有無をチェックしてからデプロイするように改良を加えたものを以下にまとめています。
CodeBuildからCloudFormationを使ってデプロイする時にテンプレートファイルの文法チェックやスタックの存在有無をチェックしてからデプロイする
各記事と使用しているawsサービスの関係をまとめると以下表のようになります。
記事 | Lambda | CloudFormation | CodeBuild | CodeCommit | CodePipeline | aws cli | CloudWatchEvents | Amazon SNS |
---|---|---|---|---|---|---|---|---|
CloudFormationを使ってlambda(node.js)環境を構築する | ○ | ○ | ○ | |||||
CloudFormationを使ってCloudWatch Eventsでスケジュール起動されるlambdaをデプロイする | ○ | ○ | ○ | ○ | ||||
aws CodeBuildを使ってlambda(node.js)環境をテスト→デプロイする | ○ | ○ | ○ | ○ | ○ | |||
aws CodeBuildとAmazon SNSを組み合わせて単体テストエラー時にメールする | ○ | ○ | ○ | ○ | ○ | ○ | ○ | |
CodeBuildからCloudFormationを使ってデプロイする時にテンプレートファイルの文法チェックやスタックの存在有無をチェックしてからデプロイする | ○ | ○ | ○ | ○ | ○ |
まとめ
本記事では、aws上でサーバレスなシステムを構築する上で、デプロイや開発に伴う作業等を自動化する手段を、私が今まで記事にしたものをまとめています。新たに記事を書いたら、ここに追加していきたいと思います。
Author And Source
この問題について(aws環境でnode.js、lambda、CodeCommit、CodeBuild、CloudFormation、CodePipelineを使って開発作業を自動化する), 我々は、より多くの情報をここで見つけました https://qiita.com/kyuaz/items/704efb51bce59f21c002著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .