cmd-deploy 前后端命令行一键自动化部署工具

cmd-deploy

前后端命令行一键自动化部署工具,支持测试、线上等多环境部署,支持环境配置扩展,配置完成后仅需一条命令即可完成整个部署流程。

github: https://github.com/xinla/cmd-deploy

适用对象

目前采用手动部署又期望快速实现轻量化部署的团队或者个人

前提条件:能通过 ssh 连上服务器

安装

全局安装 cmd-deploy

npm i cmd-deploy -g

查看版本,表示安装成功。

deploy -V

使用

1. 初始化部署模板

进入项目根目录下执行初始化命令,会在当前目录下生成 deploy 文件夹,里面包含 deploy.config.mjs 配置文件,配置好后仅需一条命令即可完成整个部署流程。

deploy init

# 板创建成功,文件位置:deploy/deploy.config.mjs
# 请配置 deploy 目录下的 deploy.config.mjs 配置文件

2. 配置部署环境

部署配置文件位于 deploy 文件夹下的deploy.config.mjs,
一般包含dev(测试环境)和prod(线上环境)两个配置,再有多余的环境配置形式与之类似,只有一个环境的可以删除另一个多余的配置(比如只有prod线上环境,可删除dev测试环境配置)。

具体配置信息请参考配置文件注释:

export default {
  privateKey: '', // 本地私钥地址,位置一般在C:/Users/xxx/.ssh/id_rsa,非必填,有私钥则配置
  passphrase: '', // 本地私钥密码,非必填,有私钥则配置
  projectName: 'cmd-deploy', // 项目名称
  // 根据需要进行配置,如只需部署prod线上环境,可删除dev测试环境配置,反之亦然,支持多环境部署,再有多余的环境按照下面格式写即可
  // 以下为示例配置,请在实际使用时根据实际情况进行配置
  dev: {
    // 测试环境相关配置/完整配置示例
    name: '测试环境',
    host: '139.224.22.228', // 服务器地址
    port: 22, // ssh 端口,一般默认22
    username: 'root', // 登录服务器用户名
    password: '123456', // 登录服务器密码
    script: 'npm run build:dev', // 本地打包脚本
    distPath: 'dist', // 本地打包dist目录
    webDir: '/usr/local/nginx/html/prod/pc', // 服务器文件部署地址示例: /usr/local/nginx/html/prod/pc
    remoteCommand: ['cd /usr/local/nest/admin', './bin/build.sh'], // 远程服务器执行的命令
  },
  prod: {
    // 线上环境相关配置/按需配置示例
    name: '线上环境',
    host: '139.224.22.228', // 服务器地址
    port: 22, // ssh 端口,一般默认22
    username: 'root', // 登录服务器用户名
    password: '123456', // 登录服务器密码
    script: '', // 本地打包脚本,需要打包则配置,如无需打包则为空或不配置即可
    distPath: '', // 本地打包dist目录,同上,需要上传本地打包文件即配置,不需上传则不配置
    webDir: '', // 服务器文件部署地址示例: /usr/local/nginx/html/prod/pc, 同上,按需配置
    remoteCommand: ['cd /usr/local/nest/admin', './bin/build.sh'], // 远程服务器执行的命令,一般用于后端服务部署后的启动命令,同上,按需配置
  },
}

3.查看部署命令

配置好deploy.config.mjs,运行以下命令,查看部署命令

deploy --help

# Usage: index [options] [command]

# Options:
#   -V, --version   output the version number
#   -h, --help      display help for command

# Commands:
#   init            初始化部署相关配置
#   dev             cmd-deploy项目测试环境部署
#   prod            cmd-deploy项目线上环境部署
#   help [command]  display help for command

4. 测试环境部署,全流程示例

测试环境部署采用的时dev的配置,执行命令会有一个确认,确认后进入部署流程,完成 6 步操作后,部署成功!!!

deploy dev

# ✔ cmd-deploy项目是否部署到测试环境? yes
# - npm run build
#   打包成功
# - 打包成zip
#   zip打包成功
# - 连接139.224.22.197
#   SSH连接成功
# - 上传zip至目录/usr/local/nginx/html/prod/pc
#   zip包上传成功
# - 开始解压zip包
#   zip包解压成功
# - 开始删除本地zip包
#   本地zip包删除成功
# - 运行远程命令
#   执行远程命令成功

#   恭喜您,cmd-deploy项目测试环境部署成功了^_^

5. 线上环境部署,按需配置示例,只使用执行远程命令功能

线上环境部署采用的时prod的配置,部署流程和测试环境相同:

deploy prod

# ✔ cmd-deploy项目是否部署到线上环境? yes

# - 连接139.224.22.197
#   SSH连接成功
# - 执行远程命令
#   执行远程命令成功

#   恭喜您,cmd-deploy项目线上环境部署成功了^_^

如果项目对您有所帮助,欢迎 star,O(∩_∩)O,感谢支持~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值