AWS CDK S3Deploy.Source.asset未上传GitLab流水线中修改的网页文件
解决方案
验证文件修改结果:在deploy阶段的脚本开头添加以下命令,确认build阶段的替换操作已生效,且文件路径正确:
cat /builds/personal1741534/website/dist/index.html | grep $CI_COMMIT_SHORT_SHA ls -la /builds/personal1741534/website/dist如果没有输出目标SHA值,说明build阶段的sed命令执行有误,或者路径不正确,需要先排查build步骤。
禁用CDK资产缓存:CDK默认会对
Source.asset的内容做哈希缓存,若之前的dist目录内容被缓存,会导致新修改的文件不被上传。修改deploy命令为:cdk deploy --require-approval never --no-asset-cache确认CDK项目路径匹配:如果你的CDK代码位于仓库的子目录(比如
cdk文件夹),则Source.asset的路径需要调整为相对CDK项目根目录的路径,例如:// 假设CDK项目在仓库根目录的cdk文件夹下,dist在仓库根目录 new BucketDeployment(this, "BucketDeployment", { destinationBucket: bucket, sources: [Source.asset("../dist")], distribution, distributionPaths: ["/*"], });排查部署日志:查看GitLab流水线deploy阶段的CDK输出日志,搜索
BucketDeployment相关内容,确认是否有文件上传记录,或是否存在S3权限不足、路径不存在等错误提示。
内容的提问来源于stack exchange,提问作者Ruwan Indika
相关产品推荐
相关产品推荐

