vue自动化部署脚本

1、在项目根目录创建脚本文件夹deploy

自动化部署脚本所在文件夹
2、在deploy文件夹下创建config.js和index.js文件
自动化脚本

3、config.js内容

/* 
读取开发变量
*/
const SERVER_ENV = process.env.NODE_ENV;
/* 
定义服务器账号
*/
const SERVER_LIST = [{
  env: 'test',
  name: '测试环境',
  domain: 'xxx.xxx.xxx',
  host: '你的测试服务器ip地址',
  port: 22,//测试服务器端口号
  username: 'root',//服务器账号
  password: '123456',//服务器密码
  path: '/data/test/'//服务器部署根目录
},
{
  env: 'prod',
  name: '生产环境',
  domain: 'xxx.xxx.xxx',
  host: '你的生产服务器ip地址',
  port: 22,//生产服务器端口号
  username: 'root',//服务器账号
  password: '123456',//服务器密码
  path: '/data/prod/'//服务器部署根目录
}]
const SERVER_ITEM = SERVER_LIST.find(item => item.env == SERVER_ENV)//选择部署服务器
console.log('SERVER_ID:' + JSON.stringify(SERVER_ITEM))//打印服务器信息
module.exports = SERVER_ITEM;

4、index.js内容

首先安装scp2: npm install scp2 --save-dev

const scpClient = require('scp2');
const ora = require('ora');
const chalk = require('chalk');
const server = require('./config');
const spinner = ora(
  '正在发布到' +
    (process.env.NODE_ENV === 'prod' ? '生产' : '测试') +
    '服务器...'
);
spinner.start();
scpClient.scp(
  './dist',
  {
    host: server.host,
    port: server.port,
    username: server.username,
    password: server.password,
    path: server.path
  },
  function(err) {
    spinner.stop();
    if (err) {
      console.log(chalk.red('发布失败.\n'));
      throw err;
    } else {
      console.log(
        chalk.green(
          'Success! 成功发布到' +
            (process.env.NODE_ENV === 'prod'
              ? '生产'
              : '测试') +
            '服务器! \n'
        )
      );
    }
  }
);

最后在package.json里 配置 scripts 命令, 定义名称为 “deploy”

"scripts": {
    "serve": "vue-cli-service serve --mode dev",
    "build": "vue-cli-service build --mode prod",
    "deploy:dev": "npm run build && cross-env NODE_ENV=dev node ./deploy",
    "deploy:prod": "npm run build && cross-env NODE_ENV=prod node ./deploy",
 },

运行npm run deploy:test可将项目部署至测试服务器
运行npm run deploy:prod可将项目部署至生产服务器

部署成功样图

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值