gpt4 book ai didi

vue.js - 如何使用 github s3 同步操作将缓存控制设置为 max-age=0

转载 作者:行者123 更新时间:2023-12-03 06:47:56 27 4
gpt4 key购买 nike

每次合并到 master 时,我都会将 vue 应用程序上传到我的 s3 存储桶。我的问题是缓存的失效不能完全起作用。我的下一步是向对象 index.html 添加元数据每次推送。为此,我想问如何将它添加到 github 操作中 jakejarvis/s3-sync-action ( https://github.com/marketplace/actions/s3-sync )?

还是我必须使用另一个 github 操作来完成它?

目前我的工作流程是这样的:

name: Build

on:
push:
branches: [master]

build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: '12.x'

- name: npm install
run: |
npm ci
- name: build
run: |
npm run build

- name: Deploy to S3
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --delete
env:
AWS_S3_BUCKET: ${{ secrets.AWS_STAGING_BUCKET_NAME }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ secrets.AWS_REGION }}
SOURCE_DIR: 'dist'

- name: Invalidate cloudfront
uses: muratiger/invalidate-cloudfront-and-wait-for-completion-action@master
env:
DISTRIBUTION_ID: ${{ secrets.AWS_STAGING_DISTRIBUTION_ID }}
PATHS: '/*'
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}


我正在寻找的结果是 index.html有另一个元数据 Cache-Control: max-age=0每次部署后。目前我正在 s3 管理控制台中手动添加它,这对我来说不是一个好的解决方案。因为每次部署后元数据都会消失。

我找到了有关如何使用 aws-cli 执行此操作的答案,但我不知道是否可以将其添加到我的操作中。
aws s3 cp s3://[mybucket]/index.html s3://[mybucket]/index.html --metadata-directive REPLACE \
--expires 2034-01-01T00:00:00Z --acl public-read --cache-control max-age=0,public

PS:我知道我需要写测试🙈

最佳答案

在你的例子中:

    with:
args: --acl public-read --delete
args生效,因为它按原样传递到 aws s3 invocation ,其中有 $*在末尾:
sh -c "aws s3 sync ${SOURCE_DIR:-.} s3://${AWS_S3_BUCKET}/${DEST_DIR} \
--profile s3-sync-action \
--no-progress \
${ENDPOINT_APPEND} $*"

如果您还想设置 --cache-control max-age=0,public然后将其添加到 args :
    with:
args: --acl public-read --delete --cache-control max-age=0,public

关于vue.js - 如何使用 github s3 同步操作将缓存控制设置为 max-age=0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61609774/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com