清理AWS CodePipeline中的旧文件

时间:2019-12-26 04:44:16

标签: amazon-web-services aws-code-deploy aws-codepipeline aws-codebuild

我已设置CodePipeline,以从我的Github存储库构建静态Vue站点并将其部署到S3存储桶。但是由于生成的文件具有哈希名称(例如,app.2c71f2bb.js),因此每次部署后,旧文件仍保留在存储桶中。我想知道解决此问题的常用方法是什么?而我将如何去做呢?

3 个答案:

答案 0 :(得分:2)

在不知道管道中各个阶段的情况下,我将假定您已经定义了CodeBuild步骤,因为您提到了构建。

检出>构建>部署(S3)

删除“部署”步骤并将其添加到CodeBuild,

            post_build:
              commands:
              - aws s3 sync ${LOCAL_FILES} s3://${S3_BUCKET_NAME} --delete

执行此操作时,您需要向CodeBuild角色而非CodePipeline角色添加相关权限。

答案 1 :(得分:1)

  1. aws s3 rm s3:// BUCKET_NAME-递归。(空存储桶的当前数据)
  2. cd 进入要上传的文件夹。
  3. 使s3同步。 s3:// BUCKET_NAME。(将所有文件上传到给定存储桶中)

答案 2 :(得分:0)

在CodePipeline中进行CodeBuild操作,以运行一些自定义aws cli命令来删除S3对象。确保您的CodeBuild服务角色有权执行相关的AWS API操作。