AWSのsam cliで作ったプロジェクトをCodePipelineでデプロイする手順

AWS CloudFormation

AWSのsam cliで作ったプロジェクトをCodePipelineでデプロイする設定について説明します。

以下の動画を参考にさせていただきました。

というか、ほぼそのままやりました。

Serverless / Lambda Continuous Deployment using AWS CodePipeline & CloudFormation

デプロイフローの概要

以下の3ステップでPipelineを作成します。

  • GitHubからソースコードを取ってくる
  • CodeBuildでパッケージを作成する
  • CodeDeployで変更セットの作成または置換を行う

以下、少しずつ追記します。

sam cliをインストールする

以下のコマンドでsam cliをインストール。

pip install --user aws-sam-cli

sam cliでサンプルプロジェクトを作成する

以下のコマンドでsamのプロジェクトを作成する。

sam init --runtime nodejs

buildspec.ymlを作成する

プロジェクトのフォルダーにbuildspec.ymlを追加します。

内容は以下です。CodeBuildで使います。

version: 0.2

phases:
 install:
   commands:
     - aws cloudformation package --template-file template.yaml --s3-bucket example-nodejs3 --output-template-file packaged.yaml
artifacts:
 type: zip
 files:
   - packaged.yaml

CodePipelineを作成する

GitHubのリポジトリと連携する

CodeBuildの設定をする

IAMロールの設定をする

S3にPutできる権限を追加します。

CodeDeployの設定をする

アクションプロバイダで「変更セットの作成または置換」を選択するのがミソです。

コメント/ピンバック

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