CodeBuildを使ったlambda自動更新のメモ


artifactがよくわからない。。。

codebuildを使ったlambdaの更新を調べると、

artifactを使って...があったのですがartifactがよくわからない。。。

なので使わないメモ

※やり方があっているかは不明です。。。


リポジトリ構造


tree.sh

$ tree ./

./
├── README.md
├── buildspec.yml
├── lambda_function.py
└── requirements.txt


やり方



  1. codebuildで使うroleに適当なS3とlambdaの権限を与える

  2. 以下のbuildspec.ymlを使ってビルドする


buildspec.yml

version: 0.1

phases:
install:
commands:
- pip install -t . -r requirements.txt
build:
commands:
- zip -r {{FUNCTION_NAME}}.zip ./
- aws s3 cp {{FUNCTION_NAME}}.zip s3://{{LAMBDA_BUCKET}}/
- aws lambda update-function-code --function-name {{FUNCTION_NAME}} --s3-bucket {{LAMBDA_BUCKET}} --s3-key {{FUNCTION_NAME}}.zip
# artifacts:
# type: zip
# files:
# - "**/*"
# discard-paths: no