背景
项目目前属于初期阶段,前端缺少统一的开发环境,包括后端其实也是,这块其实应该前端自己部署,因为目前前后端是完全分离的,但我是个好人嘛,也出于练习shell、和之后为后端也提供统一的开发环境,自己编写了一套自动化脚本。
需求
前端使用的是vuejs,需要在服务器指定不同的端口对每个用户工程做监听,用户使用ftp与本地代码自动同步,实现实时调试。具体拆分出以下功能点:
- 创建FTP用户,设置密码
- 创建nginx虚拟主机,配置域名、代理node端口
- 拉取前端初始代码,修改config/index.js中监听端口,与nginx中的代理监听端口保持一致,修改该文件为只读,防止前端开发人员上传覆盖端口配置。
- npm安装前端工程,尝试启动前端工程,如果能正常启动则可掐掉,进入第5步
- 启动前端工程后台进程
- 检测指定用户的node进程是否正常运行
- 如果3中途失败,需要执行回滚操作
实现
代码已经放到了GitHub:
https://github.com/fly-robin/frontend_develop_env_init_tool