可以从 aws codebuild buildspec.yml 文件的 'pre-build' 部分跳过 'npm install' 命令吗
is it okay to skip 'npm install' command from 'pre-build' section of aws codebuild buildspec.yml file
我有一个通过 aws codebuild 部署的 lambda 函数。
我当前的 yml 配置如下所示
version: 0.1
phases:
pre_build:
commands:
- FUNCTION_NAME=$FUNCTION_NAME
- ZIP_NAME=$ZIP_NAME
- BUCKET_NAME=$BUCKET_NAME
- npm install --silent --no-progress
- zip -r $ZIP_NAME.zip .
- aws s3 cp $ZIP_NAME.zip s3://$BUCKET_NAME/
build:
commands:
- echo $FUNCTION_NAME Deployment started!!!
- aws lambda update-function-code --function-name $FUNCTION_NAME --s3-bucket $BUCKET_NAME --s3-key $ZIP_NAME.zip
artifacts:
files: $ZIP_NAME.zip
部署时由于我的文件超过最大大小限制而出现构建错误
An error occurred (InvalidParameterValueException) when calling the UpdateFunctionCode operation: Unzipped size must be smaller than 262144000 bytes
所以有什么方法可以解决这个问题,而无需从我的实际代码中删除任何内容
是否可以从预构建部分删除 'npm install' 并添加到构建部分?
- 解压缩限制为 250 MB,压缩限制为 50MB
将您的 lambda 转换为基于 docker 的解决方法之一,因为 lambda 最多接受 10GB docker 图像,但您需要先构建 docker 图像,这将增加 CI/CD 构建 + ECR 存储的管理和成本。
- 此外,lambda 需要 IAM 权限才能拉取 ECR。
我有一个通过 aws codebuild 部署的 lambda 函数。
我当前的 yml 配置如下所示
version: 0.1
phases:
pre_build:
commands:
- FUNCTION_NAME=$FUNCTION_NAME
- ZIP_NAME=$ZIP_NAME
- BUCKET_NAME=$BUCKET_NAME
- npm install --silent --no-progress
- zip -r $ZIP_NAME.zip .
- aws s3 cp $ZIP_NAME.zip s3://$BUCKET_NAME/
build:
commands:
- echo $FUNCTION_NAME Deployment started!!!
- aws lambda update-function-code --function-name $FUNCTION_NAME --s3-bucket $BUCKET_NAME --s3-key $ZIP_NAME.zip
artifacts:
files: $ZIP_NAME.zip
部署时由于我的文件超过最大大小限制而出现构建错误
An error occurred (InvalidParameterValueException) when calling the UpdateFunctionCode operation: Unzipped size must be smaller than 262144000 bytes
所以有什么方法可以解决这个问题,而无需从我的实际代码中删除任何内容
是否可以从预构建部分删除 'npm install' 并添加到构建部分?
- 解压缩限制为 250 MB,压缩限制为 50MB
将您的 lambda 转换为基于 docker 的解决方法之一,因为 lambda 最多接受 10GB docker 图像,但您需要先构建 docker 图像,这将增加 CI/CD 构建 + ECR 存储的管理和成本。
- 此外,lambda 需要 IAM 权限才能拉取 ECR。