front-end-deploy-cli
v1.6.3
Published
前端一键自动化部署脚手架服务
Downloads
88
Maintainers
Readme
front-end-deploy-cli
前端一键自动化部署脚手架服务,支持开发、测试、生产多环境配置。配置好后一键即可自动完成部署。 主要针对ANGULAR项目,检查多余注释功能,以及打包时输入版本号。
联系人: lennon;邮箱: [email protected];
1 安装
全局安装 front-end-deploy-cli
npm install front-end-deploy-cli -g
查看版本,表示安装成功
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: 'projectName', // 项目名称
privateKey: '/Users/fuchengwei/.ssh/id_rsa',
passphrase: '',
readyTimeout: 20000, // 超时时间(毫秒)
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', // 服务器部署路径(不可为空或'/')
bakDir: '/usr/local/nginx/backup', // 备份路径 (打包前备份之前部署目录 最终备份路径为 /usr/local/nginx/backup/html.zip)
isRemoveRemoteFile: true, // 是否删除远程文件(默认true)
isRemoveLocalFile: 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', // 服务器部署路径(不可为空或'/')
bakDir: '/usr/local/nginx/backup', // 备份路径 (打包前备份之前部署目录 最终备份路径为 /usr/local/nginx/backup/html.zip)
isRemoveRemoteFile: true, // 是否删除远程文件(默认true)
isRemoveLocalFile: 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', // 服务器部署路径(不可为空或'/')
bakDir: '/usr/local/nginx/backup', // 备份路径 (打包前备份之前部署目录 最终备份路径为 /usr/local/nginx/backup/html.zip)
isRemoveRemoteFile: true, // 是否删除远程文件(默认true)
isRemoveLocalFile: true // 是否删除本地文件(默认true)
}
}
2.4 部署 (在项目目录下)
注意:命令后面需要加 --mode
环境对象 (如:--mode dev
)
deploy-cli-service deploy --mode dev 或者使用 deploy-cli-service d --mode dev
输入 Y
确认后即可开始自动部署,看见如下提示说明部署完成
2.5 集群部署 (在项目目录下)
注意:集群配置需要在 deploy-cli-service
中 配置 cluster
字段 (如:cluster: ['dev', 'test', 'prod']
)
deploy-cli-service deploy # 或者使用 deploy-cli-service d
输入 Y
确认后即可开始自动部署,看见如下提示说明部署完成
2.6 更新优化
如果不想把服务器密码保存在配置文件中,也可以在配置文件中删除 password
字段。在部署的时候会弹出输入密码界面。
如果不想在部署前执行打包命令,在配置文件中删除 script
字段即可。
如果需要部署前备份,在配置文件中配置 bakDir
字段,为空不会备份。ps: 服务器需要安装 zip 模块,可使用 yum install zip 命令。
3.0 支持从SVN下载代码自动化部署
自动化拉取SVN服务器拉取项目、下载依赖、打包后部署至测试服务器。
3.1 步骤一(卸载之前安装的svn,如果未安装过,安装时重点看下第4步骤)
0、卸载之前的svn
1、找到你的svn安装包,双击
2、之后选择(modify)修改安装
3、之后会看到command line client tools前面是个叉
4、点下叉,选择Entire feature will be installed on local hard drive
5、然后就next,install就可以。
6、通过cmd运行svn,会出现Type 'svn help’ for usage字样。证明 可以命令行调用 svn可用;
3.2 步骤二
1.ihive安装包依赖下载源,先安装nrm;
安装nrm
npm i -g nrm
nrm add hzpft http://192.168.49.108:4873/
2.nrm use hzpft
3.3 步骤三
安装
npm install front-end-deploy-cli -g;
控制台输入:
deploy-cli-service init
初始化配置文件(配置如下):
module.exports = {
projectName: 'portal',
privateKey: '',
passphrase: '',
readyTimeout: 20000,
cluster: [],//支持部署多个服务器
dev: {
name: '108',
projectName:"portal",
script: 'npm run build:prod',
host: '192.168.49.108',
port: 22,
username: 'root',
password: '123456@108',
distPath: 'C:\\myWorkWin\\node-svn\\portal\\dist\\portal',// 如果是是项目里面执行 ,只需要写相对路径。在项目外执行,需要些绝对路径。
webDir: '/home/ihive/front/portal',
bakDir: '/home/ihive/front/backups',
isLinux: true,
isRemoveLocalFile: false, // 是否删除本地文件
// validateFilePath:'' //默认为文件 src/app/app-routing.module.ts
// isBuild:false, //是否打包,
// isCompress:false //是否压缩、
// validateFilePath:"C:\\myWorkWin\\node-svn\\portal\\src\\app\\app-routing.module.ts",
"svn":{
cwd: 'C:\\myWorkWin\\node-svn\\portal', // 检出目录
username: userName, // SVN用户名
password: password, // SVN密码 ,执行这个任务必须有账号密码
checkoutUrl:'https://svn/static/ihiveportal/tags/portal_3.8.0',//svn 项目下载地址
npmInstallPath:"C:\\myWorkWin\\node-svn\\portal",// svn 下载完后 cd 到本目录安装依赖,需要在nrm环境中
}
}
};
3.4 步骤四
执行代码:
deploy-cli-service deploy --mode dev
执行成功
4.0后续功能开发
自动打开浏览器,简单登录测试。