静态文件部署工具,一条命令自动部署文件夹或大文件到阿里云OSS
全局安装
npm i -g static-deploy-tool
也可以直接使用npx,无需安装
sync <local> <remote>
同步本地build文件夹到远程Bucket: my-bucket下的production/home文件夹
static-deploy-tool sync build production/home -k LTAI4Fnxxxxx -s 1wWQo9JQpSxxxx -b my-bucket
该命令会首先逐个上传本地文件到远程目录,并根据md5比对跳过已有文件。之后删除远程存在但本地没有的文件。
如果包含index.html
或index.htm
文件,则这类文件会在最后被上传,确保所以资源上传完毕后再更新index
put <local> <remote>
使用分片上传的方式,将本地build/code.tar.gz文件上传到远程
static-deploy-tool put build/code.tar.gz production/code.tar.gz -k LTAI4Fnxxxxx -s 1wWQo9JQpSxxxx -b my-bucket
将会展示上传进度百分比,并且对于错误的分片自动重试
copy <source> <dest>
复制远程文件platform/sandbox/latest.tar.gz
到platform/production/latest.tar.gz
static-deploy-tool copy platform/sandbox/latest.tar.gz platform/production/latest.tar.gz -k LTAI4Fnxxxxx -s 1wWQo9JQpSxxxx -b my-bucket
$ node cli --help
Options:
-V, --version output the version number
-k, --ak [ak] Access Key Id
-s, --sk [sk] Secret Access Key
-r, --region [region] Region
-b, --bucket [bucket] Bucket
-e, --endpoint [endpoint] Optional, will override region setting
-h, --help output usage information
除了用参数,也可以用环境变量
OSS_AK 等同于 --ak
OSS_SK 等同于 --sk
OSS_REGION 等同于 --region
OSS_BUCKET 等同于 --bucket
OSS_ENDPOINT 等同于 --endpoint
指定endpoint参数为内网地址
static-deploy-tool sync build production/home -k LTAI4Fnxxxxx -s 1wWQo9JQpSxxxx -b my-bucket -e oss-cn-shanghai-internal.aliyuncs.com
用于GitHub Actions等国外服务传文件回国内有奇效,指定endpoint为oss-accelerate.aliyuncs.com
需要开通这个Bucket的全球加速功能
static-deploy-tool sync build production/home -k LTAI4Fnxxxxx -s 1wWQo9JQpSxxxx -b my-bucket -e oss-accelerate.aliyuncs.com
- uses: wangsijie/static-deploy-tool@v1
with:
oss-ak: ${{ secrets.OSS_AK }}
oss-sk: ${{ secrets.OSS_SK }}
oss-region: ${{ secrets.OSS_REGION }}
oss-bucket: ${{ secrets.OSS_BUCKET }}
oss-endpoint: oss-accelerate.aliyuncs.com
local-path: __tests__/files
remote-path: static-deploy-tool-test/action-sync