Simple action make for my use case!
Image source can found on Docker-Collection/docker-aws-cli.
Some example can see:
Please notice, you still need to specify a folder to upload, because sync only can sync folder.
Maybe some day I will fix this, to using cp to uplaod single file.
AWS S3 Upload
- name: AWS S3 Uplaod
uses: Docker-Collection/docker-aws-s3-action@main
with:
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_s3_endpoint: ${{ secrets.AWS_S3_ENDPOINT }}
source_dir: "<DIR>"
aws_command: "sync"AWS S3 Download
- name: AWS S3 Download
uses: Docker-Collection/docker-aws-s3-action@main
with:
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_s3_endpoint: ${{ secrets.AWS_S3_ENDPOINT }}
dest_dir: "<DIR_OR_FILE>"
aws_command: "cp"| Variable | Required | Default | Description |
|---|---|---|---|
| aws_s3_bucket | Required | N/A | AWS Bucket Name |
| aws_access_key_id | Required | N/A | AWS Access Key |
| aws_secret_access_key | Required | N/A | AWS Secret Access key |
| aws_region | Optional | us-east-1 | AWS Region |
| aws_s3_endpoint | Optional | N/A | Custom AWS Endpoint |
| aws_command | Required | N/A | What you want to run, aviable command is sync cp ls rm |
| dest_dir | Optional | N/A | Destination path |
| source_dir | Optional | N/A | Source path |
| aws_flags | Optional | N/A | The flag you want to run |
| sync_reverse | Optional | false | Reverse sync, use to download s3 folder to local |