AWS CodeBuild,CodePipelineのデプロイステージでCodeCommitリポジトリのLambdaをデプロイする

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というリポジトリを作成します。

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

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で作成します。

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

ビルドプロジェクト作成完了です。

CodePipeline

CodePipelineを作成します。

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

Pipeline作成完了です。

Lambdaデプロイ

ソースになにか修正加えてプッシュします。

git add .
git commit -m "commit"
git push origin master

EventBridgeが検知してCodePipelineが実行され、Lambdaデプロイされました。

AWS CodeBuild,CodePipelineのデプロイステージでCodeCommitリポジトリのLambdaをデプロイする

AWS CodeBuild,CodeDeploy,CodePipelineでCodeCommitリポジトリのLambdaをデプロイする

参考サイト

Deploy Lambdas fast with AWS CodePipeline
A continuous deployment pipeline for deploying your code changes on AWS

コメント

タイトルとURLをコピーしました