@qse/ssh-sftp
v1.0.1
Published
教育代码部署工具
Downloads
6
Readme
@qse/ssh-sftp
简单易用的 SFTP 工具,可以上传/忽略/删除远程的文件
安装
# 全局
npm i @qse/ssh-sftp -g
# 局部
npm i @qse/ssh-sftp -D
使用
- 首先初始化一份配置文件
npx ssh-sftp init
将生成的
.sftprc.json
文件里的信息填写完整添加脚本到
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
| 字段名 | 类型 | 描述 | 默认值 |
| ---------------- | ---------------------------------------------------- | ---------------------------------------------- | ---------------------- |
| localPath | string
| | 'dist'
|
| remotePath | string
| | - |
| connectOptions | ConnectOptions
| 登录信息 | - |
| ignore | string[]
| 忽略localPath
中的部分文件,glob
类型 | ['**/*.LICENSE.txt']
|
| cleanRemoteFiles | boolean \| string[]
| 清空远程文件夹,或按glob
匹配清空远程部分文件 | true
|
| securityLock | boolean
| 安全锁,默认开启 | true
|
| keepAlive | boolean
| 保持连接 | false
|
| noWarn | boolean
| 禁止提示 | false
|
| skipPrompt | boolean
| 跳过询问,全部同意 | false
|
| preset | {context: string; folder?: string; server?:string}
| 预设登录项 | - |
preset.context
目前只有三个值 "qsxxwapdev", "eduwebngv1", "qsxxadminv1"
preset.folder
文件夹名称默认使用项目名称,也可自定义文件夹名称,支持多层文件夹,例如 parent/child
preset.server
部署服务器地址 "19", "171"
connectOptions
| 字段名 | 类型 | 描述 |
| -------- | -------- | ---- |
| host | string
| |
| port | number
| |
| username | string
| |
| password | string
| |
securityLock
安全锁 默认开启,会校验项目名称与远程地址是否匹配防止误传,关闭后忽略验证
Commands
ssh-sftp init
初始化生成配置文件 .sftprc.json
ssh-sftp ls
列出所有需要上传/删除/忽略的文件
ssh-sftp ls -u
单独列出所有需要上传的文件
ssh-sftp ls -d
单独列出所有需要删除的文件
ssh-sftp ls -i
单独列出所有忽略的文件