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