前端项目自动化部署

应用场景

通常情况下,项目需要部署上下通常采用下面几种方式
以Vue项目为例,打包之后

  1. 利用指令/工具,利用Scp命令行或FTP将dist目录中的文件上传至服务器Web环境根目录下。
  2. 利用git服务器,ssh进入web服务器 -> 执行git clone或git pull将项目克隆至服务器 -> 执行npm install -> 执行npm run build。

以上两种方式都不是最优解,第一种方式操作步骤繁琐;第二种服务器需要安装node&git环境,并且多了项目源码,浪费服务器资源

实现自动化部署

仅需一个指令,实现自动化部署

  1. 在项目中下载依赖

scp2是一个纯js编写的ssh2协议的Linux远程文件拷贝实现。 ora是一个优雅的用于命令行Loading的spinner

npm install scp2 ora --save-dev
  1. 根目录新建:deploy.js(ora部分可有可无,不用可隐去
const scpClient = require('scp2')
const ora = require('ora')
const server = {
    host:'xxx.xxx.xxx.xxx',//服务器IP
    port:22,//服务器端口
    username:'xxxxxx',//服务器ssh登录用户名
    password:'xxxxxx',//服务器ssh登录密码
    path:'/www/xxxx/xxxx'//服务器web目录
}
const loading = ora('正在部署至 ' + server.host )
loading.start()
scpClient.scp('dist/', server ,(err)=>{
loading.stop()
    if(err) {
        console.log('部署失败')
        throw err
    }else {
        console.log('部署成功')
    }
})
  1. 在package.json中的script中添加命令
"scripts": {
    ...
    "deploy": "npm run build && node ./deploy.js",
    ...
},

资源分享,电影百年,名人千万,佳作无数!
每天一分钟,知晓天下事!
各种实用工具、关注时事热点、体育以及娱乐八卦等有关的资讯~

关注“天才影视资源”

posted @ 2022-04-14 16:16  Genius_cxx  阅读(656)  评论(0编辑  收藏  举报