CloudFormationのpackage&deployをgulpで実行してLambdaデプロイする
gulpでpackage&deployしてlambdaをデプロイします。
npm init -y npm i gulp touch gulpfile.js touch index.yml
CloudFormationのymlファイルです。
index.yml
AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::Serverless-2016-10-31 Description: This CloudFormation template to create Lambda function Resources: MyLambdaFunction: Type: AWS::Serverless::Function Properties: FunctionName: sample-lambda CodeUri: ../zip/indexLambda.zip ★圧縮ファイルある前提 Handler: index.handler Runtime: nodejs16.x MemorySize: 128 Timeout: 15
gulpfile.jsの中身です。
gulpfile.js
const gulp = require('gulp') const util = require('util') const exec = util.promisify(require('child_process').exec) async function indexLambdaPackageDeploy() { await exec('aws cloudformation package --template-file index.yml --s3-bucket <バケット名> --output-template-file tmp.yml') await exec('aws cloudformation deploy --template-file tmp.yml --stack-name <スタック名> --capabilities CAPABILITY_IAM') } exports.indexLambdaPackageDeploy = indexLambdaPackageDeploy
タスク実行します。
npx gulp indexLambdaPackageDeploy
stackとlambdaができます。
補足
aws cloudformation packageとaws cloudformation deployだと変更がなくてもlambdaデプロイされてしまう為、回避するにはsam package&sam deployにしたほうが良いかもしれません。
参考サイト
aws cloudformation packageコマンド
AWS CloudFormationでLambdaをデプロイする方法

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
資格:少額短期保険募集人,FP3級
コメント