[英]AWS sync to deploy only new or updated files to s3
我編寫了一個 Github 操作腳本,該腳本從文件夾migrations
中獲取文件並將其上傳到 s3。 此管道的問題是目錄中的所有其他文件也會更新。 我怎么能 go 關於只更新新文件或更新文件? 這是當前的腳本。
name: function-name
on:
push:
branches:
- dev
jobs:
deploy:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- uses: actions/checkout@master
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install Dependencies
run: npm install
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-central-1
- name: Deploy file to s3
run: aws s3 sync ./migration/ s3://s3_bucket
您可以嘗試 GitHub Action jakejarvis/s3-sync-action
,它使用原始AWS CLI將目錄(從您的存儲庫或在您的工作流程中生成)與遠程 S3 存儲桶同步。
它基於aws s3 sync
,它應該啟用增量備份,而不是復制/修改每個文件。
將migration
文件夾添加為“ source_dir
”
steps:
...
- uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-1' # optional: defaults to us-east-1
SOURCE_DIR: 'migration' # optional: defaults to entire repository
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.