@pfan/tq-simple-deploy

0.0.3 • Public • Published

tq-simple-deploy 介绍

主要利用node 的 node-ssh 库 实现自动连接服务器 并将本地打包完成的 dist目录自动上传到指定服务器目录,在没有安装云效,需要多次发布远程的场景下可快速发布。

在需要堡垒机发布的场景下 可快速提升发布效率

命令解释

tq-simple-deploy init --config xxx.js

init 命令 主要 用于下载config模板 及 help.md 到执行命令的目录
--config 指定 config 文件名称 默认 deploy.config.js

tq-simple-deploy ng-init --config xxx.js

ng-init 命令 nginx 配置初始化 主要通过 配置文件中选项 生成nginx配置文件,上传至服务器 比重启nginx
--config 指定 config 文件名称 默认 deploy.config.js

tq-simple-deploy deploy --config xxx.js -z -c

deploy 命令主要用于发布
--config 指定 config 文件名称 默认 deploy.config.js
-z 是否开启压缩 默认不压缩 直接dist 目录上传 dist较小时可直接文件夹上传
-c 是否拷贝原有文件夹 默认不拷贝 直接删除 服务器上原有文件 如果开启 会先将原有文件夹复制为 xxx202107011109009 格式

属性解释 deploy.config.js

  • local 本地目录 例如:path.resolve(__dirname, './dist')
  • remote 远程服务器目录 例如:/mnt/fe-projects/fe-demo/dist
  • clientConfig 连接服务器所需参数
    • port ssh 端口 默认22
    • host 服务器地址 xxx.xx.xx.xx
    • username 用户名 root admin
    • password 密码 xxxxxx
  • nginx nginx远程 动态配置文件路径 例如: /etc/nginx/conf.d
  • confName 动态配置文件名称 xxxx.cong 例如:test.conf
  • port 部署的静态文件所用的端口
  • isHistory 是否history 模式 history 模式下.cong文件下会添加 try_files $uri $uri/ /index.html;
  • nginxComd nginx relaod 命令 例如: nginx -s reload 或者 /etc/nginx/sbin/nginx -s reload
  • beforeDeploy 发布前钩子函数
  • afterDeploy 发布后钩子函数

简单nginx 配置使用 示例

安装依赖

npm i @pfan/tq-simple-deploy -D  

初始化指令

yarn  tq-simple-deploy  init 

npx   tq-simple-deploy  init

会下载 deploy.config.js 模板
我们以 服务器 47.96.94.154 端口 8478 为模板填写如下

//发布部署相关配置
const path = require('path')
module.exports = {
  local: path.resolve(__dirname, './dist'), //本地目录
  remote: '/mnt/fe-projects/fe-demo5/dist',//远程服务器 目录  /mnt/fe-projects/fe-demo/dist
  clientConfig: {
    port: 22,//ssh 端口  默认22
    host: '47.96.94.154',//服务器地址 xxx.xx.xx.xx
    username: 'root',//用户名   root admin
    password: 'Mm123456',//密码  xxxxxx
  },
  nginx:'/etc/nginx/conf.d',//nginx 动态配置文件路径
  confName:'test5.conf',//动态配置文件名称
  port:'8478',//静态文件 端口
  isHistory:false,//是否history 模式
  nginxComd:'nginx -s reload',//nginx relaod 命令 nginx 没有 配置到全局   类似   /etc/nginx/sbin/nginx -s reload
  beforeDeploy: async (clint) => {
     console.log("发布前钩子函数,这里可以暂时不写")
  },
  afterDeploy: async (clint) => {
    console.log("发布后钩子函数,这里可以暂时不写")
  }
}

执行

yarn  tq-simple-deploy  ng-init  

npx   tq-simple-deploy  ng-init 

简单发布使用示例

堡垒机发布使用示例

Readme

Keywords

none

Package Sidebar

Install

npm i @pfan/tq-simple-deploy

Weekly Downloads

1

Version

0.0.3

License

ISC

Unpacked Size

14.6 kB

Total Files

11

Last publish

Collaborators

  • pfan