📚

GitHub に push したら AWS Lambda が更新されるようにする

2022/09/10に公開

前提

問題

  • GitHubにpushしてからCodeBuildが完了するのを待ってLambdaを手動更新するのが面倒

対応

  • CodeBuildのbuildspecにlambda更新コマンドを追加する
    • post_buildに下記を追加した
      • aws lambda update-function-code --function-name $LAMBDA_FUNCTION_NAME --image-uri $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG
        • 環境変数定義は利用状況によって異なると思います
  • 上記を追加したらpush起因でLambdaの更新を実行できるようになったが、下記エラーが出た
    • An error occurred (AccessDeniedException) when calling the UpdateFunctionCode operation
    • 権限不足
    • UpdateFunctionCode 権限を含むポリシーを作成し、CodeBuildのロールにアタッチして解決した

余談

Discussion