vue项目自动化部署简单整合

可以使用WinSCP客户端测试是否连通服务器

一,服务器是Linux

1, 安装scp2

npm install scp2 --save-dev

2, 根目录下创建deploy.js

const client = require("scp2");
const ora = require("ora");
const chalk = require("chalk");
const spinner = ora(chalk.green("正在发布。。。"));
spinner.start();

/*
   host: 服务器ip
   port:scp上传的端口号 (默认:22)
   username:服务器账号
   password:服务器密码
   path:部署到服务器的路径
*/
const server = {
  host: "11.11.11.11",
  port: 22,
  username: "root",
  password: "******",
  path: "/html"
};

client.scp(
  "./dist/",
  {
    host: server.host,
    port: server.port,
    username: server.username,
    password: server.password,
    path: server.path
  },
  err => {
    spinner.stop();
    if (!err) {
      console.log(chalk.green("成功"));
    } else {
      console.log(err);
    }
  }
);

3,运行

node deploy.js

二,服务器是windows

注:需要安装插件OpenSSH,请参考WinSCP之Windows与Windows之间传输文件

1,安装 ssh2-sftp-client

npm install ssh2-sftp-client

2, 根目录下创建deploy.js

const ssh2SftpClient = require("ssh2-sftp-client");
const ora = require("ora");
const chalk = require("chalk");
const spinner = ora(chalk.green("正在发布。。。"));
const path = require("path");
spinner.start();

/*
  localPath: 本地需要上传的文件,注意不是文件夹
  remotePath:服务器的路径并设置上传后的名称
*/

const localPath = path.join(__dirname, "/dist/dist.zip");
const remotePath = "C:/Users/Administrator/Desktop/部署测试/rename.zip";
/*
   host: 服务器ip
   port:scp上传的端口号 (默认:22)
   username:服务器账号
   password:服务器密码
*/

const server = {
  host: "192.168.1.89",
  port: 22,
  username: "administrator",
  password: "123"
};

function putFile(localPath, remotePath) {
  const sftpClient = new ssh2SftpClient();
  sftpClient
    .connect({
      host: server.host,
      port: server.port,
      username: server.username,
      password: server.password
    })
    .then(() => {
      return sftpClient.fastPut(localPath, remotePath, server);
    })
    .then(() => {
      spinner.stop();
      console.log(chalk.green("成功"));
    })
    .catch(err => {
      spinner.stop();
      console.log(err, "catch error");
    });
}
putFile(localPath, remotePath);

3,运行

node deploy.js

注:临时起意,写的比较简单,后续继续更新!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mf_717714

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值