簡體   English   中英

AWS 同步僅將新文件或更新文件部署到 s3

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM