CNode

Node.js 一行命令上传本地文件到服务器

分享
Xxiaoxiaojx发布于7 年前最后回复7 年前19 回复6905 浏览0 收藏

现在存在的问题

每次打包完, 都要打开 FileZilla 一顿拖拽然后才能上传代码, 那就立马撸一个自动化脚本就完事了

publish-sftp

Github 传送门(~~~~顺便来骗个Star~~~~) 以后一行命令上传本地文件到服务器啦

publish-sftp -c // 完事

安全性

项目组已经跑了大半年, 没出过幺蛾子, 可放心使用

实现

基于 ssh2-sftp-client

快速上手

install

    sudo npm i publish-sftp -g
    sudo npm link publish-sftp

tips

当前目录下需要提供一份 sftp.json

{
    "localPath": "./dist",
    "remotePath": "/export/App/xxx",
    "protectedRemotePath": "/export/App/xxx",
    "connect": {
        "host": "xxx.xxx.xxx.xx",
        "port": 22,
        "username": "root",
        "password": "123456"
    }
}

example

image

复制 localPath 下所有文件到 remotePath/xjx/test, -c 参数为空则是复制到 remotePath, 远程目录不存在会先创建

copy

复制 localPath 下所有文件到 remotePath 目录下, 如果 xxx 有值则是复制到 ${remotePath}/${xxx} 目录

publish-sftp -c xxx

remove

删除 remotePath 目录, 如果 xxx 有值则是删除 ${remotePath}/${xxx} 目录, protectedRemotePath 目录是不允许操作的, 所以为了安全是必需要设置的, 一般和 remotePath 值一样即可!

publish-sftp -r xxx

谢谢阅读

查看回复

回复 (19)

Y
yakczh#1·7 年前

scp

A
axetroy#2·7 年前

楼上正解。还要啥FTP

I
i5ting#3·7 年前
引用 axetroy楼上正解。还要啥FTP

大约2009年以前见过php和java项目很多都是通过ftp部署的。服务器win和linux都有,那会ftp用的还是非常多的。

X
xiaoxiaojx#4·7 年前
引用 axetroy楼上正解。还要啥FTP

@axetroy 学习了

X
xiaoxiaojx#5·7 年前
引用 yakczhscp

@yakczh 学习了

K
kenshinji#6·7 年前

为什么不用CI/CD 工具直接从Git仓库直接pull代码而要手工打包上传??

K
kwh123#7·7 年前

abc

M
Mia010203#8·7 年前

good

M
Mia010203#9·7 年前
引用 yakczhscp

@yakczh good

M
Mia010203#10·7 年前

good

M
Mia010203#11·7 年前

22

X
xjinky#12·7 年前

可以的

X
xiaoxiaojx#14·7 年前

Linux scp命令 挺好的, 前端项目都有node环境, publish-sftp 利于集成, 能跨平台

Z
zy445566#15·7 年前
引用 kenshinji为什么不用CI/CD 工具直接从Git仓库直接pull代码而要手工打包上传??

@kenshinji 即使除去编译后的静态文件不在代码库里,CI如果和服务器不在一个机该怎么办?说到底还是要用工具。比如ansible,针对单机楼主工具还是很不错的,很具有极客精神

K
kenshinji#16·7 年前
引用 xiaoxiaojx@kenshinji 不需要把生产代码放入git仓库

@xiaoxiaojx 不明白你的意思,什么叫不把生产代码放入git仓库?能详细说说么?在我看来跟生产环境相关的只有一些配置参数啥的,这些不放到git仓库是应该的,但是代码。。。

K
kenshinji#17·7 年前
引用 zy445566@kenshinji 即使除去编译后的静态文件不在代码库里,CI如果和服务器不在一个机该怎么办?说到底还是要用工具。比如ansible,针对单机楼主工具还是很不错的,很具有极客精神

@zy445566 没错啊,CI也能传输到生产环境服务器,这个没问题。我也没说楼主做工具不好,只是觉得专门做个工具传文件有点令人疑惑。。。

M
medmin#19·7 年前

服务器是Windows咋办

参与回复
登录后即可参与回复。登录