npm install lindo-deploy -g 或 yarn global add lindo-deploy
lindo -h // 查看帮助
lindo init // 初始化配置文件
lindo list // 查看所有配置的服务器
lindo pub // 编译发布
lindo deploy [server_name] // 部署到某一服务器
lindo deploy -a/--all // 部署到所有服务器
lindo deploy [server_name]/-a -r/--reload // 部署后 reload nginx
// deploy/config/deployConfig.js
module.exports = {
sshKeyPath: `${require('os').homedir()}/.ssh/id_rsa`,
servers: [
{
name: 's1', // 服务器名
user: 'deployer', // 服务器用户
domain: 'api-server.com', // 服务器域名
nginx_servers: [ // nginx server_name 配置
{
name: '网站名称',
domain: 'front-view.com'
}
],
nginx_port: 80, // nginx port 配置
deploy_path: '/var/www/app_name/dist/', // 部署文件夹路径
api_url: 'https://api-server.com' // api请求域名
}
]
}
// deploy/config/nginxConfig.template 生成的nginx配置文件
server {
listen ${server.nginx_port};
server_name ${server.nginx_servers.map((v) => { return v.domain }).join(' ')};
location ~ / {
root ${server.deploy_path};
try_files $uri $uri/ /index.html;
if ($request_filename ~* ^.*?.(html)$) {
add_header Last-Modified $date_gmt;
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
expires off;
}
}
}