1.0.1 • Published 2 years ago

@qse/ssh-sftp v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

@qse/ssh-sftp

简单易用的 SFTP 工具,可以上传/忽略/删除远程的文件

安装

# 全局
npm i @qse/ssh-sftp -g

# 局部
npm i @qse/ssh-sftp -D

使用

  1. 首先初始化一份配置文件

npx ssh-sftp init

  1. 将生成的.sftprc.json文件里的信息填写完整

  2. 添加脚本到 package.json

{
  "scripts": {
    "deploy": "ssh-sftp"
  }
}

建议在部署前使用npx ssh-sftp ls查看哪些文件会被上传或删除

字段说明

.sftprc.json

schema定义 http://www.zhidianbao.cn:8088/qsxxwapdev/edu-ssh-sftp/sftprc.schema.json

字段名类型描述默认值
localPathstring'dist'
remotePathstring-
connectOptionsConnectOptions登录信息-
ignorestring[]忽略localPath中的部分文件,glob类型['**/*.LICENSE.txt']
cleanRemoteFilesboolean \| string[]清空远程文件夹,或按glob匹配清空远程部分文件true
securityLockboolean安全锁,默认开启true
keepAliveboolean保持连接false
noWarnboolean禁止提示false
skipPromptboolean跳过询问,全部同意false
preset{context: string; folder?: string; server?:string}预设登录项-

preset.context 目前只有三个值 "qsxxwapdev", "eduwebngv1", "qsxxadminv1"

preset.folder 文件夹名称默认使用项目名称,也可自定义文件夹名称,支持多层文件夹,例如 parent/child

preset.server 部署服务器地址 "19", "171"

connectOptions

字段名类型描述
hoststring
portnumber
usernamestring
passwordstring

securityLock

安全锁 默认开启,会校验项目名称与远程地址是否匹配防止误传,关闭后忽略验证

Commands

ssh-sftp init

初始化生成配置文件 .sftprc.json

ssh-sftp ls

列出所有需要上传/删除/忽略的文件

ssh-sftp ls -u 单独列出所有需要上传的文件

ssh-sftp ls -d 单独列出所有需要删除的文件

ssh-sftp ls -i 单独列出所有忽略的文件