我已设置CodePipeline,以从我的Github存储库构建静态Vue站点并将其部署到S3存储桶。但是由于生成的文件具有哈希名称(例如,app.2c71f2bb.js),因此每次部署后,旧文件仍保留在存储桶中。我想知道解决此问题的常用方法是什么?而我将如何去做呢?
答案 0 :(得分:2)
在不知道管道中各个阶段的情况下,我将假定您已经定义了CodeBuild步骤,因为您提到了构建。
检出>构建>部署(S3)
删除“部署”步骤并将其添加到CodeBuild,
post_build:
commands:
- aws s3 sync ${LOCAL_FILES} s3://${S3_BUCKET_NAME} --delete
执行此操作时,您需要向CodeBuild角色而非CodePipeline角色添加相关权限。
答案 1 :(得分:1)
答案 2 :(得分:0)
在CodePipeline中进行CodeBuild操作,以运行一些自定义aws cli命令来删除S3对象。确保您的CodeBuild服务角色有权执行相关的AWS API操作。