DeployHub 是一个用于简化部署流程的工具,旨在帮助开发者更高效地管理和部署应用程序。它支持多种部署平台,包括 FTP、阿里云 OSS、腾讯云 COS 和火山引擎 TOS。
- 支持多种部署平台(FTP、OSS、COS、TOS)
- 统一的配置管理
- 文件过滤功能
- 实时上传进度显示
- 灵活的错误处理
npm -D install deployhubconst { uploadViaFTP, uploadViaOSS, uploadViaCOS, uploadViaTOS, uploadDirectory } = require('deployhub');
const config = {
"common": {
"localPath": "./test_files/",
"remotePath": "/",
"ignoreExtensions": [
".map"
]
},
"ftp": {
"host": "127.0.0.1",
"user": "username",
"password": "password",
"port": 21
},
"oss": {
"region": "oss-cn-beijing",
"accessKeyId": "id",
"accessKeySecret": "secret",
"bucket": "keyflow"
},
"cos": {
"SecretId": "id",
"SecretKey": "secret",
"Bucket": "test-1258437818",
"Region": "ap-beijing"
},
"tos": {
"accessKeyId": "id",
"accessKeySecret": "secret",
"region": "cn-beijing",
"bucket": "test-deployhub",
"remotePath": "."
}
};
// FTP 上传
uploadDirectory(uploadViaFTP, config.ftp, config.common);
// OSS 上传
uploadDirectory(uploadViaOSS, config.oss, config.common);
// COS 上传
uploadDirectory(uploadViaCOS, config.cos, config.common);
// TOS 上传
uploadDirectory(uploadViaTOS, config.tos, config.common);- 各平台配置中的
localPath、remotePath和ignoreExtensions优先级高于公共配置 - 未配置时使用公共配置中的值
上传过程中会实时显示进度,格式如下:
[平台名称] 当前文件序号/总文件数 [当前文件名称]
- 上传失败时会输出详细的错误信息
- 不会中断整体上传流程,继续处理下一个文件
- 错误信息包含文件路径和具体错误原因
- 确保配置文件中的认证信息正确
- 本地路径使用相对路径或绝对路径均可
- 远程路径根据各平台要求配置
- 文件过滤基于文件后缀名,不区分大小写