起步
为了简单期间,系列文章以开发、构建和部署 VitePress 静态站点为例,后期根据差异性补充 SpringBoot 服务端项目。
阶段一:服务能 Run
新手开发起步,能让服务跑起来,是一个重要的里程碑。
- 在个人电脑上使用 IDE 如 VsCode、WebStorm 开发、调试。
- 本地开发环境,查看开发效果
npm run dev - 把项目源代码使用
scp工具远程复制到云服务器上(具备公网 IP) - 安装依赖
npm install - 以后台方式运行
nohup npm run dev &
此方法使用 nodejs 作为服务器,支持热启动,一般用于开发环境,直接作为生产环境的 Web 服务器效率较低。
阶段二:Nginx 静态资源代理
Web 静态资源项目使用 Nginx 部署是最佳实践。
- 在个人电脑上使用 IDE 如 VsCode、WebStorm 开发、调试。
- 本地开发环境,查看开发效果
npm run dev - 项目构建
npm run 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 run build,生成分发包 dist - 使用 Nginx 对 dist 包做静态资源代理,并启动 Nginx 服务
总结
作为一名起步的开发者,阶段三实现了最小可行、且完全手动的交付闭环,绝大多数中小团队止步于此。
下一篇文章,引入 Docker(Podman) 实现服务容器化,一次构建,到处运行,有效解决服务可移植性问题。
参考
- Docker 官方文档,https://docs.docker.com/
- Podman 官方文档,https://podman.io/docs/
- Nginx 静态资源服务器,https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/
- 静态资源服务器,https://tsejx.github.io/devops-guidebook/server/nginx/static-resource-server/
- git 版本控制,https://git-scm.com/
- GitHub 代码托管,https://github.com/
- Gitee 国产化 git 代码托管仓库,免科学上网,https://gitee.com/