首页 > 其他分享 >前端工程化 项目工程环境自动打包上传服务器

前端工程化 项目工程环境自动打包上传服务器

时间:2024-03-06 09:47:36浏览次数:29  
标签:npm err deploy server chalk 服务器 工程化 上传 conn

1.创建 deploy.js 放在package.json同一层级
/**
 * 结合scp2和ssh2将build打包传到服务器
 * npm install scp2 --save-dev
 * npm install ssh2 --save-dev
 * 
 * package.json中
 * scripts:{
 *  "deploy": "npm run build && node deploy"
 * }
 * npm run deploy
 * 单独测试deploy.js
 * node deploy
 */
const scpClient = require('scp2');
const ora = require('ora');
const chalk = require('chalk');
const spinner = ora('正在发布到生产服务器...');

//服务器相关配置
const server = {
	host: "服务器ip",
	port:端口,
	username:"root",
	password:"管理密码",
	path:"/home/HTML/vue/main/(上传文件路径)"
};

var Client = require('ssh2').Client;
var conn = new Client();
conn.on('ready', function() {
    console.log(chalk.green('准备删除文件'+server.path+'.\n'));
    conn.exec('rm -rf '+server.path, function(err, stream){
        if (err){
            console.log(chalk.red(err));
            conn.end();
        }else{
            conn.exec('mkdir '+server.path, function(err2, stream2){
                if (err){
                    console.log(chalk.red(err));
                    conn.end();
                }else{                
                    spinner.start();
                    scpClient.scp('dist/',server,function (err) {    
                        spinner.stop();
                        if (err) {
                            console.log(err);
                            console.log(chalk.red('发布失败.\n'));
                        } else {
                            console.log(chalk.green('Success! 成功发布到\n'+server.host+'\n'+server.path+'\n'));
                        }
                        conn.end();
                    });
                }
                
            });

        }
        
    })
}).connect({
    host: server.host,
    port: server.port,
    username: server.username,
    password: server.password
    //privateKey: require('fs').readFileSync('/home/admin/.ssh/id_dsa')
});

2.在package.json文件中定义相应的脚本 cmd执行指令: npm run deploy ,需要测试脚本的话可以用 node deploy
"deploy": "npm run build && node deploy", //先build本地打包 再通过deploy自定义的node脚本进行服务器上传

标签:npm,err,deploy,server,chalk,服务器,工程化,上传,conn
From: https://www.cnblogs.com/zjxlicheng/p/18055801

相关文章

  • 文件上传、远程文件包含、文件上传绕waf练习
    1、通关文件上传靶场的1、2、3、4、5、6、10第一关由于是前端js校验删除前端调用得函数第二关可以看到只对Content-Type做了检查,修改Content-Type:为image/png第三关是黑名单,但是黑名单不全可以选择用php3、php5等等绕过第四关.htaccess攻击第五关大写绕过......
  • 微信小程序开发:循环定时删除阿里云oss上传的文件
    上文有说到我们开发了定时删除阿里云oss的功能,但是一次只能删除10条。本文我们做到一次删除全部过期的文件。实现:使用while循环,在循环里获取是否还有已过期的,没有就break掉,有就走删除逻辑。开始代码部分: 逻辑还是比较简单的,一个while循环,每次查找20条已过期的数据,如果没有......
  • 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应用作为代理,攻击其远程和本地......
  • 记一次部署vika源码以及安装Falsk框架到linux服务器
    前言接受到需求,需要把python项目vika的源码修改部分内容后,部署到服务器,然后再安装一个python的快速开发框架Falsk。部署vika1.什么是vika?Vika PythonSDK是对维格表FusionAPI的官方封装,提供类似DjangoORM风格的API。2.下载源码前往源码地址(https://github.com/vikadat......
  • 配置 HTTPERR 错误日志记录,不断增长会沾满C盘导致服务器停机
    配置HTTPAPI错误日志记录HTTP\Parameters键下的三个注册表值控制HTTPAPI错误日志记录。这些密钥位于注册表项中: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters。 备注在Windows操作系统的更高版本中,配置值的位置和形式可能会更改。......
  • PHP处理上传图片出现旋转问题
    相关参考链接:图像生成和处理(可交换图像信息):https://www.php.net/manual/zh/book.exif.php一、EXIF方向参数Orientation简介:EXIFOrientation参数让你随便照像但都可以看到正确方向的照片而无需手动旋转(前提要图片浏览器支持,Windows自带的不支持)。这个参数在有的照......
  • 重启windows构建服务器引起的一系列问题
    Jenkins构建部分命令找不到一、问题描述:jenkins构建报错ERROR,乱码二、分析原因进服务器手动执行,提示MSbuild.exe命令找不到,原来的环境变量设置的临时的,重启服务器之后,部分环境变量丢失 三、解决方法在Windows系统构建服务器安装工具后需要直接调用,请添加到系统变量中,避免......
  • 小程序开发:定时删除上传的阿里云oss文件
    上文说到:我们接入了阿里云的oss,以及阿里云的人像动漫化接口。本文要完成的功能:用户上传到阿里云oss的图片需要在一天后定时删除,否则占用了存储空间。大致流程:用户上传阿里云oss成功后,将上传的文件名记录到一张表,记录有一个字段日期为过期时间,定时任务检测到过期后,先删除oss文件,......
  • 实际环境使用的wsgi服务器
    因为每个web框架都不是专注于实现服务器方面的,因此,在生产环境部署的时候使用的服务器也不会简单的使用web框架自带的服务器,这里,我们来讨论一下用于生产环境的服务器有哪些?1.gunicornGunicorn(从Ruby下面的Unicorn得到的启发)应运而生:依赖Nginx的代理行为,同Nginx进行功能上的分离。......