首页 > 其他分享 >vue2项目命令部署服务器

vue2项目命令部署服务器

时间:2024-03-06 13:45:20浏览次数:19  
标签:console log name 部署 require serverInfo vue2 服务器 const

 

 

1、添加命令、依赖

 

 

//package.json
"deploy": "node ./deploy/config.js"
     "shelljs": "^0.8.5",       "scp2": "^0.5.0"

2、添加环境变量

 

# 自动部署 VUE_APP_SERVER_ID = 0

  

3、添加deploy文件夹

 

//deploy\config.js
require('shelljs/global'); const inquirer = require('inquirer'); // 发布的服务器列表 const ser = require('./servers'); const SERVER_LIST = ser.servers;
inquirer.prompt([{   name: 'conform',   message: '是否需要重新构建?',   type: 'list',   default: 0,   choices: [{name: '是',value: 1}, {name: '否',value: 0}] },{   name: 'choose',   message: '选择发布的环境',   type: 'list',   default: 0,   choices: SERVER_LIST }]).then(function (answers) {   process.env.VUE_APP_SERVER_ID = answers.choose;   if(answers.choose === 99) {     console.log('取消构建');     return;   }   let cmd = answers.conform ? 'npm run build && node ./deploy' : 'node ./deploy';   exec(cmd); });

  

//deploy\index.js
require('shelljs/global');
const ora = require('ora'); const chalk = require('chalk'); const scpClient = require('scp2');
// 发布的服务器列表 const ser = require('./servers'); const serverInfo = ser.servers[process.env.VUE_APP_SERVER_ID || 0]; if(!serverInfo) {   return; }
var Client = require('ssh2').Client; var conn = new Client(); conn.on('ready', function () {   console.log('Client :: ready');   conn.exec('rm -rf ' + serverInfo.path, function (err,stream) {     if (err) throw err;     stream       .on('close', function (code, signal) {         // 在执行shell命令后,把开始上传部署项目代码放到这里面         const spinner = ora('准备发布到服务器' + serverInfo.name);         spinner.start();         console.log(chalk.green('开始发布\n'));         scpClient.scp(           'dist/',           {             host: serverInfo.host,             port: serverInfo.port,             username: serverInfo.username,             password: serverInfo.password,             path: serverInfo.path           },           function (err) {             spinner.stop();             if (err) {               console.log(chalk.red('发布失败.\n'));               throw err;             } else {               console.log(chalk.green('Success! 成功发布到' + serverInfo.name + '服务器! \n'));             }           }         );         conn.end();       })       .on('data', function (data) {         console.log('STDOUT: ' + data);       })       .stderr.on('data', function (data) {         console.log('STDERR: ' + data);       });   }); })   .on('error', (err) => {     console.log(err);   })   .on('end', () => {     console.log('end');   })   .on('close', () => {     console.log('close');   })   .connect({     host: serverInfo.host,     port: serverInfo.port,     username: serverInfo.username,     password: serverInfo.password,     readyTimeout: 5000   });

  

//deploy\servers.js
/* * name:自定义名称 * domain:域名 * host:ip * port:端口 * username:服务器账号 * password:服务器密码 * path:发布到服务器的指定路径 */ const servers = [   {     value: 0,     name: '测试环境41',     domain: '172.19.2.47',     host: '172.19.2.47',     port: '22',     username: 'root',     password: '002@121dsj',     path: '/home/web/rk-unified-portal/dist/'   } ];
module.exports = {   servers: servers };

  

 

翻译

搜索

复制

标签:console,log,name,部署,require,serverInfo,vue2,服务器,const
From: https://www.cnblogs.com/zoushuangyu/p/18056328

相关文章

  • 离线部署docker-ce
    下载包删除或者备份原来的所有的yum源文件。然后添加阿里的yum源:wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo或者curl-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo更新:清除缓存......
  • 借助 Terraform 功能协调部署 CI/CD 流水线-Part 1
    在当今快节奏的开发环境中,实现无缝、稳健的CI/CD流水线对于交付高质量软件至关重要。在本文中,我们将向您介绍使用BitbucketPipeline、ArgoCDGitOps和AWSEKS设置部署的步骤,所有步骤都将利用Terraform的强大功能进行编排。在Part1里,将主要介绍通过Terraform创建和部署......
  • [智慧建筑]NTP网络时间服务器(卫星时钟系统)助力建筑数字化
    [智慧建筑]NTP网络时间服务器(卫星时钟系统)助力建筑数字化[智慧建筑]NTP网络时间服务器(卫星时钟系统)助力建筑数字化京准电子科技官微——ahjzsz随着大数据、云计算时代的到来,各行业信息化建设的不断提升,信息化下的各个系统不再单独处理各自业务,而是趋于协同工作,因此,各个单......
  • 私有网盘服务 dzzoffice部署
    官网地址:https://dzzoffice.com/dzzoffice有多种部署方式,docker方式,源码方式,经过测试,这两种部署方式在数据进行备份恢复时都会存在一些bug,所有这里采用源码结合docker的方式进行部署.安装docker,这里省略安装步骤.使用docker安装onlyoffice,用于配置dzzoffice在......
  • Visual Studio部署C++环境下OpenCV库
      本文介绍在VisualStudio2022中配置、编译C++计算机视觉库OpenCV的方法。1OpenCV库配置  首先,我们进行OpenCV库的下载与安装。作为一个开源的库,我们直接在其官方下载网站中进行下载即可;如下图所示,我们首先选择需要下载的操作系统。  随后,即可在弹出的新界面中自动开......
  • 前端工程化 项目工程环境自动打包上传服务器
    1.创建deploy.js放在package.json同一层级/***结合scp2和ssh2将build打包传到服务器*npminstallscp2--save-dev*npminstallssh2--save-dev**package.json中*scripts:{*"deploy":"npmrunbuild&&nodedeploy"*}*npmrundepl......
  • Docker搭建smb共享服务器
    Docker搭建smb共享服务器快速启动dockerrun-it--namesamba\-p139:139\-p445:445\-v/path/to/share:/share_dir\-ddperson/samba\-u"username;password"\-s"share_name;/share_dir/;yes;no......
  • SSRF服务器端请求伪造
    SSRF服务器端请求伪造凡是发起网络请求的地方,就有可能涉及ssrf1.SSRF漏洞定义:SSRF(Server-sideRequestForge)服务器端请求伪造,由于服务端提供了从其他服务器应用获取数据的功能,但没有对地址和协议等做过滤和限制。使得攻击者可以利用存在缺陷的web应用作为代理,攻击其远程和本地......
  • K8S部署MySQL5.7主从集群
    参考https://blog.csdn.net/qq_43114229/article/details/124078914https://kubernetes.io/zh-cn/docs/tasks/run-application/run-replicated-stateful-application/MySQL主从同步架构图mysql-0是mastermysql-1和mysql-2是两个备份当mysql写的时候,找headlessservice中的m......
  • .Net项目部署到Docker
    .Net项目部署到Docker环境linuxdocker.Net7步骤编写Dockerfile上传项目文件到linux运行项目文件到docker一、设置项目端口在Program.cs文件设置端口builder.WebHost.UseUrls("http://*:1040");//单个设置二、添加Dockerfile文件点击Docker支持,会弹框选择lin......