【发布时间】:2019-07-28 05:56:27
【问题描述】:
如何使用 CodeBuild 的 buildspec.yml 删除 S3 存储桶 中的不需要的文件作为 CodePipeline 中管道的输出文件?
例如:
GitHub repo 的build 文件夹放在指定的 S3 存储桶中,因此该存储桶可以用作静态网站。
我之前将一个文件推送到我不再需要的存储桶中。在将管道的工件推送到存储桶之前,如何使用 buildspec.yml 文件“清理”存储桶?
buildspec.yml 文件示例:
version: 0.2
phases:
build:
commands:
- mkdir build-output
- find . -type d -name public -exec cp -R {} build-output \;
- find . -mindepth 1 -name build-output -prune -o -exec rm -rf {} +
post_build:
commands:
- mv build-output/**/* ./
- mv build-output/* ./
- rm -R build-output
artifacts:
files:
- '**/*'
应命令:
rm -rf *
像这样在build阶段?
build:
commands:
- aws s3 rm s3://mybucket/ --recursive
我如何引用正确的存储桶而不是硬编码文件中的名称?
【问题讨论】:
-
您是否需要每次都从存储桶中删除不必要的文件,还是只是一次性操作?
-
我不必这样做,但如果构建经常更改,我不想在 prod 中留下太多未使用的文件,所以我认为最好在每次人工制品时“清理”存储桶推到它。只是我的想法,我不确定你和其他人是否会这样做。
标签: amazon-web-services amazon-s3 aws-codepipeline aws-codebuild