@cauliflowerli/deploy

1.0.10 • Public • Published

webpack自动化部署插件

功能说明

一个webpack打包自动化部署插件,可以在打包完成后,根据配置的远程服务器的信息、文件路径等自动部署打包的静态文件通常是dist文件夹到配置指定的远程服务器上【该服务器通常是公司的测试服务器】,而无需开发人员手动部署。

使用

安装

//package.json

npm install @cauliflowerli/deploy

配置

//webpack.config.js

const MyPlugin = require('@cauliflowerli/deploy') //引入

...
plugins:[
  new MyPlugin(settings)  //实例化配置
]
...

配置项说明

const path=require("path")
const settings={
config: {
    host: '192.168.0.1',
    port: '10022',
    username: 'root',
    password: 'root'
  },
  remotePath: '/usr/index/wzdev/web', // 配置上传路径
  remoteParentDirectory: '/usr/index/wzdev/', // 配置上传路径的父级目录路径
  localPath: path.join(__dirname, 'web'), // 配置要上传的本地文件夹路径
  type: 'number', // 自动删除过期文件的方式,time:时间过期删除,number:数量过期删除【选择time方式时,删除interval天以前的所有历史文件;选择number方式时可以,删除当前打包文件记录第interval个之前的所有历史文件】
  interval: 5, // 历史版本间隔10个时间单位之前的打包文件自动删除【单位默认为:days天】【选择time方式时,删除interval天以前的所有历史文件;选择number方式时可以,删除当前打包文件记录第interval个之前的所有历史文件】
  unit: 'days', // moment插件中定义的时间单位格式,当type为time时,可以设置该项的时间单位,配合interval表示删除当前时间间隔interval时间单位之前的所有历史文件
  openAutoDeploy: true// 该配置项仅在打包时使用:为防止意外覆盖远程服务器上的正确文件,请勿将该配置项设置为true的情况下提交当前配置文件到远程仓库,你应该永远不要提交本地的当前文件
}
以上配置对象将作为插件的实例化时的参数传入

Readme

Keywords

Package Sidebar

Install

npm i @cauliflowerli/deploy

Weekly Downloads

7

Version

1.0.10

License

ISC

Unpacked Size

9.8 kB

Total Files

3

Last publish

Collaborators

  • cauliflowerli