Skip to content

DeployHub 是一个用于简化部署流程的工具,旨在帮助开发者更高效地管理和部署应用程序。它支持多种部署平台,包括 FTP、阿里云 OSS、腾讯云 COS 和火山引擎 TOS。

houguang/DeployHub

Repository files navigation

DeployHub - 多平台部署工具

项目简介

DeployHub 是一个用于简化部署流程的工具,旨在帮助开发者更高效地管理和部署应用程序。它支持多种部署平台,包括 FTP、阿里云 OSS、腾讯云 COS 和火山引擎 TOS。

功能特点

  • 支持多种部署平台(FTP、OSS、COS、TOS)
  • 统一的配置管理
  • 文件过滤功能
  • 实时上传进度显示
  • 灵活的错误处理

安装

npm -D install deployhub

使用方法

基本使用

const { 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);

配置优先级

  • 各平台配置中的 localPathremotePathignoreExtensions 优先级高于公共配置
  • 未配置时使用公共配置中的值

上传进度显示

上传过程中会实时显示进度,格式如下:

[平台名称] 当前文件序号/总文件数 [当前文件名称]

错误处理

  • 上传失败时会输出详细的错误信息
  • 不会中断整体上传流程,继续处理下一个文件
  • 错误信息包含文件路径和具体错误原因

注意事项

  1. 确保配置文件中的认证信息正确
  2. 本地路径使用相对路径或绝对路径均可
  3. 远程路径根据各平台要求配置
  4. 文件过滤基于文件后缀名,不区分大小写

About

DeployHub 是一个用于简化部署流程的工具,旨在帮助开发者更高效地管理和部署应用程序。它支持多种部署平台,包括 FTP、阿里云 OSS、腾讯云 COS 和火山引擎 TOS。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published