阅读 6597

前端一键自动部署工具🛠 v1.2.0(支持集群部署) 更新咯

前端一键自动部署工具🛠 v1.2.0(支持集群部署) 更新咯

本人之前工作之余做的这个前端部署工具(原文链接:前端一键部署工具)得到了不少掘友的肯定。当然也提出了不少的问题与优化的点。在假期的最后的两天,虽然非常的不想碰代码,但是想到之前答应大家更新的需求,还是默默地打开了电脑 🙄🙄。

本次更新主要增加了以下功能:

  • 支持集群部署
  • 添加了部署耗时显示
  • 优化了配置文件中密码配置(配置文件中可以不需要写密码,在部署时动态输入)
  • 部署时可以不执行打包命令(配置文件中删除打包命令即可)

当然所有的更新都是对之前的配置文件做向下兼容的,所以大家可以放心的升级使用。请阅读下方文本熟悉工具使用方法。

deploy-cli-service

前端一键自动化部署脚手架服务,支持开发、测试、生产多环境配置。配置好后一键即可自动完成部署。

1 安装

全局安装 deploy-cli-service

npm install deploy-cli-service -g
复制代码

本地安装 deploy-cli-service

npm install deploy-cli-service --save-dev
复制代码

查看版本,表示安装成功

deploy-cli-service -v
复制代码

注:本地安装的在调用前需要加 npx

npx deploy-cli-service -v
复制代码

2 使用(以下都以全局安装为例)

2.1 查看帮助

deploy-cli-service -h
复制代码

2.2 初始化配置文件(在项目目录下)

deploy-cli-service init # 或者使用简写 deploy-cli-service i
复制代码

根据提示填写内容,会在项目根目录下生成 deploy.config.js 文件,初始化配置只会生成 dev (开发环境)、test (测试环境)、prod (生产环境) 三个配置,再有其他配置可参考模板自行配置。

2.3 手动创建或修改配置文件

不使用上面的初始化命令的可以手动创建配置文件。在项目根目录下手动创建 deploy.config.js 文件,复制以下代码按情况修改即可。

module.exports = {
  projectName: 'vue_samples', // 项目名称
  privateKey: '/Users/fuchengwei/.ssh/id_rsa',
  passphrase: '',
  cluster: [], // 集群部署配置,要同时部署多台配置此属性如: ['dev''test''prod']
  dev: {
    // 环境对象
    name: '开发环境', // 环境名称
    script: 'npm run build', // 打包命令
    host: '192.168.0.1', // 服务器地址
    port: 22, // 服务器端口号
    username: 'root', // 服务器登录用户名
    password: '123456', // 服务器登录密码
    distPath: 'dist', // 本地打包生成目录
    webDir: '/usr/local/nginx/html', // 服务器部署路径(不可为空或'/'
    isRemoveRemoteFile: true // 是否删除远程文件(默认true
  },
  test: {
    // 环境对象
    name: '测试环境', // 环境名称
    script: 'npm run build:test', // 打包命令
    host: '192.168.0.1', // 服务器地址
    port: 22, // 服务器端口号
    username: 'root', // 服务器登录用户名
    password: '123456', // 服务器登录密码
    distPath: 'dist', // 本地打包生成目录
    webDir: '/usr/local/nginx/html', // 服务器部署路径(不可为空或'/'
    isRemoveRemoteFile: true // 是否删除远程文件(默认true
  },
  prod: {
    // 环境对象
    name: '生产环境', // 环境名称
    script: 'npm run build:prod', // 打包命令
    host: '192.168.0.1', // 服务器地址
    port: 22, // 服务器端口号
    username: 'root', // 服务器登录用户名
    password: '123456', // 服务器登录密码
    distPath: 'dist', // 本地打包生成目录
    webDir: '/usr/local/nginx/html', // 服务器部署路径(不可为空或'/'
    isRemoveRemoteFile: true // 是否删除远程文件(默认true
  }
}
复制代码

2.4 部署 (在项目目录下)

注意:命令后面需要加 --mode 环境对象 (如:--mode dev

deploy-cli-service deploy --mode dev # 或者使用 deploy-cli-service d --mode dev
复制代码

输入 Y 或按下 Enter 键确认后即可开始自动部署,看见如下提示说明部署完成

2.5 集群部署 (在项目目录下)

注意:集群配置需要在 deploy-cli-service 中 配置 cluster 字段 (如:cluster: ['dev', 'test', 'prod']

deploy-cli-service deploy # 或者使用 deploy-cli-service d
复制代码

输入 Y 确认后即可开始自动部署,看见如下提示说明部署完成

2.6 更新优化

如果不想把服务器密码保存在配置文件中,也可以在配置文件中删除 password 字段。在部署的时候会弹出输入密码界面。

如果不想在部署前执行打包命令,在配置文件中删除 script 字段即可。

2.7 本地安装扩展

如果使用本地安装命令的话,可以在项目根目录下的 package.json 文件中 scripts 脚本中添加如下代码

"scripts": {
  "serve""vue-cli-service serve",
  "build""vue-cli-service build",
  "lint""vue-cli-service lint",
  "deploy""deploy-cli-service deploy",
  "deploy:dev""deploy-cli-service deploy --mode dev",
  "deploy:test""deploy-cli-service deploy --mode test",
  "deploy:prod""deploy-cli-service deploy --mode prod"
}
复制代码

然后使用下面代码也可以完成部署操作

npm run deploy:dev
复制代码

最后如果大家觉得还不错挺好用的话,麻烦给个 Star 😜😜😜。