Ubuntu服务器上React/Next.js应用git更新操作相关问题咨询
部署操作问题解答
1. git pull 前是否需要停止 PM2 相关进程
如果你可以接受停机,建议优先停止所有PM2运行的项目相关进程。
这么做可以完全规避两类风险:一是运行中的进程占用项目文件,导致git拉取时出现文件锁、权限类报错;二是拉取过程中新旧代码文件混杂,导致运行中的服务出现不可预期的异常。由于你无需考虑 downtime,停止进程操作没有额外成本,是最稳妥的选择。
2. 拉取完成后是否需要重新运行 npm build
必须执行,除非你将本地构建后的产物也一同推送到了GitHub(这是非常不推荐的实践)。
常规的代码托管流程中,git仓库仅存储项目源码,你本地修改的业务代码、依赖配置等内容,都需要在服务器端重新编译构建,生成适配服务器环境的生产运行产物后,新的代码改动才会生效。
适配停机场景的完整操作流程
- 先查看当前运行的PM2进程,确认你的项目进程名:
pm2 ls - 停止对应项目进程:
pm2 stop <你的进程名> - 进入项目根目录,拉取最新代码:
git pull - 安装新增依赖(避免新代码引入的依赖未安装导致构建/运行报错):
npm install - 执行生产环境构建:
npm run build - 重启PM2进程:
pm2 start <你的进程名> - 可选,验证服务运行状态:
pm2 logs <你的进程名>
内容的提问来源于stack exchange,提问作者Danny_P
相关产品推荐
相关产品推荐

