如何解决将 CodeBuild 工件文件获取到根文件夹,同时保留子文件夹树
这是我当前的构建规范文件:
version: 0.2
phases:
build:
commands:
- pip install mkdocs
- mkdocs build
artifacts:
files:
- site/**/*
site
├── folder-1
│ └── file-1.html
└── folder-2
├── file-2.html
└── subfolder
└── file-3.html
我想删除 site/
顶级文件夹,并将所有子文件夹和文件放在工件文件夹的“根”中,因为它包含一个我想上传到 S3 存储桶的静态网站.
因此,当我想保留子文件夹层次结构时,我不能使用 discard-paths
参数,因为所有内容都将被展平。
解决方法
您可以在后期构建中使用 aws s3 sync site/ s3://<bucket_name>
例如
version: 0.2
phases:
build:
commands:
- pip install mkdocs
- mkdocs build
post_build:
commands: aws s3 sync site/ s3://<bucket_name>
这比推送工件文件要好。我试过了,它只是将构建工件添加到 S3 中。使用 sync
命令复制丢失或过时的文件,如果新构建中不存在文件,您也可以使用 --delete
选项删除文件。
附言确保为 codebuild 添加策略以允许 codebuild 与 S3 存储桶交互
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。