https://github.com/wangsijie/static-deploy-tool
一条命令自动部署文件夹或大文件到阿里云OSS
https://github.com/wangsijie/static-deploy-tool
alibabacloud aliyun aliyun-oss oss serverless
Last synced: 8 months ago
JSON representation
一条命令自动部署文件夹或大文件到阿里云OSS
- Host: GitHub
- URL: https://github.com/wangsijie/static-deploy-tool
- Owner: wangsijie
- Created: 2020-02-18T15:58:30.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T06:26:41.000Z (over 3 years ago)
- Last Synced: 2025-06-04T04:41:08.030Z (about 1 year ago)
- Topics: alibabacloud, aliyun, aliyun-oss, oss, serverless
- Language: JavaScript
- Homepage:
- Size: 831 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# static-deploy-tool
静态文件部署工具,一条命令自动部署文件夹或大文件到阿里云OSS
## 安装
全局安装
```
npm i -g static-deploy-tool
```
也可以直接使用npx,无需安装
## 常用命令
### 同步文件夹到远程
```bash
sync
```
同步本地build文件夹到远程Bucket: my-bucket下的production/home文件夹
```bash
static-deploy-tool sync build production/home -k LTAI4Fnxxxxx -s 1wWQo9JQpSxxxx -b my-bucket
```
该命令会首先逐个上传本地文件到远程目录,并根据md5比对跳过已有文件。之后**删除**远程存在但本地没有的文件。
如果包含`index.html`或`index.htm`文件,则这类文件会在最后被上传,确保所以资源上传完毕后再更新index
### 上传大文件到远程
```bash
put
```
使用分片上传的方式,将本地build/code.tar.gz文件上传到远程
```bash
static-deploy-tool put build/code.tar.gz production/code.tar.gz -k LTAI4Fnxxxxx -s 1wWQo9JQpSxxxx -b my-bucket
```
将会展示上传进度百分比,并且对于错误的分片自动重试
### 复制远程文件
```bash
copy
```
复制远程文件`platform/sandbox/latest.tar.gz`到`platform/production/latest.tar.gz`
```bash
static-deploy-tool copy platform/sandbox/latest.tar.gz platform/production/latest.tar.gz -k LTAI4Fnxxxxx -s 1wWQo9JQpSxxxx -b my-bucket
```
## 配置
```bash
$ 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参数为内网地址
```bash
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的全球加速功能**
```bash
static-deploy-tool sync build production/home -k LTAI4Fnxxxxx -s 1wWQo9JQpSxxxx -b my-bucket -e oss-accelerate.aliyuncs.com
```
## 使用 Github Action
```yaml
- 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
```