自动打包发布前端项目

1、deploy.config.js

module.exports = {
    packedFile:'dist', //打包文件
    project: 'testProject', //本地打包后的文件
    port:'8091', // 端口号
    place: 'root@123.11.11.111', // 服务器
    fpath: '/usr/local/nginx/project', // 服务器上传地址
    targetUrl: 'http://123.11.11.111',  // 地址链接
}

2、inset-deploy.js

复制代码
const os = require(`child_process`).execSync
const fs = require('fs')
const config =require('./deploy.config')
const packedFile=config.packedFile // 打包后的文件
const project=config.project // 项目名称
const port=config.port // 端口号
const targetUrl=config.targetUrl //浏览器访问地址
const platform = process.platform  //mac系统:darwin   window系统:win32
/**
 * 部署
 */
/** 项目名 */
/** 服务用户名和host */
const place = config.place 
/** 文件放置路径 */
const fpath = config.fpath
os(`npm run build`) // 打包
os(`ssh ${place} "cd ${fpath} && rm -rf ${packedFile}"`) // 进入服务对应目录并且删除打包项目
os(`scp -r ${packedFile} ${place}:${fpath}`) // 拷贝dist放到服务器对应文件中
os(`${platform=='darwin'?'rm -rf':'rmdir /s/q'} ${packedFile}`) // 删除本地文件dist
try {
    os(` ${platform=='darwin'?'open':'explorer'} ${targetUrl+':'+port+'/'+project}`) // 打开浏览器
} catch (error) {}
复制代码

 

3、打包并发布项目  npm run deploy

 "deploy": "node .\\hand\\inset-deploy.js"

 

posted @   (⊙o⊙)买噶  阅读(74)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
历史上的今天:
2019-09-04 https的网页里引入http的外部链接出错
点击右上角即可分享
微信分享提示