在计算机领域有很多概念比较抽象或难以理解,比如敏捷开发、领域驱动模型。
运维领域 CICD DevOps 有一个粗浅的理解,但总觉得不能理解全貌。因此,从我的开发实践经验来思考与探索,希望与大家一起交流。
服务部署实践
使用 Vite 开发 Vue3 项目,并部署到服务器上,以发布到互联网上。
阶段一:服务能 Run
新手开发起步:
- 在个人电脑上使用 IDE 如 VsCode、WebStorm 开发、调试。
- 本地开发环境,查看开发效果
npm run dev
- 把项目源代码使用
scp
工具远程复制到云服务器上(具备公网 IP) - 安装依赖
npm install
- 以后台方式运行
nohup npm run dev &
此方法使用 nodejs
作为服务器,支持热启动,用于开发环境,直接作为生产环境的 Web 服务器效率较低。
阶段二:Nginx 静态资源代理静态
纯前端项目使用 Nginx 部署是最佳实践。
- 在个人电脑上使用 IDE 如 VsCode、WebStorm 开发、调试。
- 本地开发环境,查看开发效果
npm run dev
- 项目构建
npm build
,生成分发包 dist - 把 dist 包使用
scp
工具 复制到云服务器上(具备公网 IP) - 使用 Nginx 对 dist 包做静态资源代理,并启动 Nginx 服务
阶段三:版本管理与代码托管
为了实现代码版本管理、多人协作、代码共享的问题,引入了 Git 工具和托管平台 GitHub 或 Gitee。
- 在个人电脑上使用 IDE 如 VsCode、WebStorm 开发、调试。
- 本地开发环境,查看开发效果
npm run dev
- 在 git 仓库中提交变更,并推送到 GitHub
- 登录云服务器,使用
git clone
克隆仓库、使用git pull
获取最新提交。 - 安装依赖
npm install
- 项目构建
npm build
,生成分发包 dist - 使用 Nginx 对 dist 包做静态资源代理,并启动 Nginx 服务
总结
作为一名起步的开发者,阶段三实现了最小可行、且完全手动的交付闭环,绝大多数中小团队止步于此。
下一篇文章,引入 Docker 实现服务容器化,一次构建,到处运行,有效解决服务可移植性问题。
关注微信公众号,获取运维资讯
如果此篇文章对你有所帮助,感谢你的点赞 与收藏,也欢迎在评论区友好交流。
微信搜索关注公众号:持续运维