使用scp2 推送本地打包文件到服务器静态目录,实现一键部署

312 阅读1分钟

公司本地有一个windows的测试环境服务器,每次修改东西都要手动链接远程,手动copy打包的文件到静态文件目录, 后面发现scp2可以实现本地推送远程服务。。。记录一下实现过程

代码实现

  • npm i scp2 ora chalk -D
 let client = require("scp2");
 const ora = require("ora");
 const chalk = require("chalk");
 const spinner = ora(chalk.green("正在发布到服务器..."));
 
     client.scp(
     "./dist",//本地打包目录
     {
       host: //远程host,
       username: //远程用户名,
       password: //远程密码,
       path: //远程地址,
     },
     (err) => {
       spinner.stop();
       if (!err) {
         console.log(chalk.green("项目发布完毕"));
       } else {
         // console.log("err", err);
       }
     }
   );

最后不知道什么原因上传完成总是会打印2次错误,但是检查远程目录是上传成功的没问题,就把错误打印注释掉了,一直没有解决

  • 我先用自己的电脑测试一下,本人电脑win10,直接打开远程服务并开启ssh服务,百度可以查到,很简单。
  • 然后在测试服务器测试,突然发现测试服务器是windows server 2016,没有ssh服务。经过查找找到解决办法,www.cnblogs.com/dachenyi/p/… ,下载64位的。终于不用再手动发布了 直接node 运行上面代码就行