AWS CodeBuild,CodePipelineのデプロイステージでCodeCommitリポジトリのLambdaをデプロイする
項目 | 値 |
---|---|
nodejs | 18 |
CodeBuildでビルド、CodePipelineでデプロイしてみます。
「AWS CodeBuildでCodeCommitリポジトリのLambdaをデプロイする」参照
lambdaのcloudformationです。Roleはあらかじめ作成したものをインポートします。
AWSTemplateFormatVersion: "2010-09-09" Transform: "AWS::Serverless-2016-10-31" Resources: TestFunction: Type: "AWS::Serverless::Function" Properties: FunctionName: codedeploytest Handler: index.handler Runtime: nodejs18.x CodeUri: ../src Handler: index.handler Runtime: nodejs18.x MemorySize: 128 Timeout: 15 Role: !ImportValue LambdaRole
CodeCommit
sampleというリポジトリを作成します。
CodeBuild
buildspec.ymlです。aws cloudformation packageコマンドで出力されたymlファイルがアーティファクト(成果物)です。
version: 0.2 phases: install: runtime-versions: nodejs: 16.x commands: - npm ci build: commands: - aws cloudformation package --template-file ./cfn/cfn.yml --s3-bucket <バケット名> --output-template-file cfn_out.yml artifacts: files: - 'cfn_out.yml' discard-paths: yes
ビルドプロジェクト名はsampleで作成します。
ビルドプロジェクト作成完了です。
CodePipeline
CodePipelineを作成します。
Pipeline作成完了です。
Lambdaデプロイ
ソースになにか修正加えてプッシュします。
git add . git commit -m "commit" git push origin master
EventBridgeが検知してCodePipelineが実行され、Lambdaデプロイされました。
参考サイト
Deploy Lambdas fast with AWS CodePipeline
A continuous deployment pipeline for deploying your code changes on AWS
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント