Vue 之 deploy插件,自动化部署到服务器
安装fe-deploy-cli (注 :要全局安装才有效)
npm i fe-deploy-cli -g || yarn global add fe-deploy-cli
- 初始化部署模板
deploy init
- 配置部署环境
配置文件位于deploy文件夹下的deploy.config.js,一般包含dev(测试环境)和prod(线上环境)两个配置,再有多余的环境配置形式与之类似,只有一个环境的可以删除另一个多余的配置(比如只有prod线上环境,请删除dev测试环境配置)module.exports = { privateKey: '', // 本地私钥地址,位置一般在C:/Users/xxx/.ssh/id_rsa,非必填,有私钥则配置 passphrase: '', // 本地私钥密码,非必填,有私钥则配置 projectName: '', // 项目名称 // 根据需要进行配置,如只需部署prod线上环境,请删除dev测试环境配置,反之亦然,支持多环境部署 dev: { // 测试环境 name: '测试环境', script: "yarn build", // 测试环境打包脚本 host: '192.168.1.1', // 测试服务器地址 port: 22, // ssh port,一般默认22 username: 'root', // 登录服务器用户名 password: '123456', // 登录服务器密码 distPath: 'dist', // 本地打包dist目录 webDir: '/home/cs/dist', // // 测试环境服务器地址 }, // 再还有多余的环境按照这个格式写即可 prod: { // 线上环境 name: '线上环境', script: "npm run build", // 线上环境打包脚本 host: '10.**.**.99', // 开发服务器地址 port: 22, // ssh port,一般默认22 username: 'root', // 登录服务器用户名 password: '123456', // 登录服务器密码 distPath: 'dist', // 本地打包dist目录 webDir: '/var/www/html/prod/hivue' // 线上环境web目录 } }
- 查看部署命令
配置好deploy.config.js,运行deploy --help
- 测试环境部署
测试环境部署采用的时dev的配置deploy dev
- 线上环境部署
线上环境部署采用的时prod的配置deploy prod
root权限太高了,给他创建指定用户并赋予指定目录的相关权限
创建用户且指定该用户的根路径和密码
useradd -d /www/wwwroot/vuedeploy -m vuedeploy
设置密码
passwd vuedeploy
用户授权
chown -R vuedeploy:vuedeploy /www/wwwroot/vuedeploy
chmod 755 /www/wwwroot/vuedeploy
查看和删除用户
#查看
cat /etc/passwd
#删除
userdel vuedeploy
最终配置
module.exports = {
privateKey: '', // 本地私钥地址,位置一般在C:/Users/xxx/.ssh/id_rsa,非必填,有私钥则配置
passphrase: '', // 本地私钥密码,非必填,有私钥则配置
projectName: '后台管理', // 项目名称
// 根据需要进行配置,如只需部署prod线上环境,请删除dev测试环境配置,反之亦然,支持多环境部署
dev: { // 测试环境
name: '测试环境',
script: "yarn run build", // 测试环境打包脚本
host: 'xxxxx', // 测试服务器地址
port: 22, // ssh port,一般默认22
username: 'vuedeploy', // 登录服务器用户名
password: 'xxxxxx', // 登录服务器密码
distPath: 'dist', // 本地打包dist目录
webDir: '/www/wwwroot/vuedeploy', // // 测试环境服务器地址
},
// prod: { // 线上环境
// name: '线上环境',
// script: "npm run build", // 线上环境打包脚本
// host: '', // 线上服务器地址
// port: 22, // ssh port,一般默认22
// username: '', // 登录服务器用户名
// password: '', // 登录服务器密码
// distPath: 'dist', // 本地打包dist目录
// webDir: '' // 线上环境web目录
// }
// 再还有多余的环境按照这个格式写即可
}
上传图包
#其他不变,只改以下参数, images自定义
module.exports = {
dev: { // 测试环境
script: "deploy --help", // 测试环境打包脚本
distPath: 'images', // 本地打包dist目录
webDir: '/www/wwwroot/vuedeploy/images', // // 测试环境服务器地址
}
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
你怎么蹦到前端了?全干工程师?