Travis AWS S3 SDK为特定文件设置缓存标头

时间:2017-02-22 14:15:33

标签: amazon-s3 travis-ci

在我的Travis脚本中有一种方法可以将内容上传到S3 Bucket,如下所示:

# deploy:
#   provider: script
#   skip_cleanup: true
#   script: "~/.local/bin/aws s3 sync dist s3://mybucket --region=eu-west-1
#     --delete"
# before_deploy:
# - npm run build
# - pip install --user awscli

我还想在该存储桶中的特定文件(即sw.js)上设置无缓存标头。目前SDK中是否可以使用?

1 个答案:

答案 0 :(得分:1)

我担心使用单个s3 sync命令无法做到这一点。但您可以尝试使用排除包含选项执行两个命令。一个用于同步除 sw.js 之外的所有内容,另一个用于 sw.js

script: ~/.local/bin/aws s3 sync dist s3://mybucket --include "*" --exclude "sw.js" --region eu-west-1 --delete ; ~/.local/bin/aws s3 sync dist s3://mybucket --exclude "*" --include "sw.js" --region eu-west-1 --delete --cache-control "no-cache" --metadata-directive REPLACE

注意:非多部分副本需要--metadata-directive REPLACE选项。