You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Django-React应用自动化部署,推送生产分支代码即可自动上线?

Django + React 全流程自动部署可行方案

以下两种方案均可以实现「推送生产分支代码后自动完成全流程部署」的需求,无需手动操作WinSCP、Putty等工具:

方案一:轻量化自建Webhook方案(零额外成本,适合中小项目)

  • 提前给AWS部署服务器配置SSH密钥,确保服务器可以免密拉取前后端两个仓库的代码。
  • 在服务器上编写部署执行脚本deploy.sh,参考内容如下,写完后执行chmod +x deploy.sh赋予执行权限,可先手动运行验证所有步骤正常:
#!/bin/bash
# 切换到前端项目目录,拉取最新生产分支代码
cd /path/to/your/react-project
git pull origin main # 替换成你自己的生产分支名
# 安装依赖并构建前端产物
npm install
npm run build
# 拷贝构建产物到Django静态文件目录
cp -rf dist/* /path/to/your/django-project/static/
# 切换到后端项目目录,拉取最新生产分支代码
cd /path/to/your/django-project
git pull origin main # 替换成你自己的生产分支名
# 安装Python依赖
pip install -r requirements.txt
# 执行数据库迁移
python manage.py migrate
# 收集静态文件
python manage.py collectstatic --noinput
# 重启Django服务,替换成你自己的服务名
systemctl restart django-gunicorn
  • 在服务器上部署一个极简的Webhook接收服务(几行代码即可实现,Flask、Node.js都可以),监听Git仓库的推送事件,只有收到生产分支的推送请求时,才触发执行上面的deploy.sh脚本。在你托管代码的Git平台配置Webhook地址指向该服务,同时加签名校验避免恶意触发。

方案二:标准CI/CD工具方案(更稳定易维护,适合需要多环节校验的项目)

你可以直接用GitHub Actions、GitLab CI、AWS CodePipeline这类现成的CI/CD工具,无需自己维护Webhook服务:

  • 在代码仓库中添加CI配置文件,设置触发规则为「生产分支收到推送时执行部署流程」。
  • 把AWS服务器的SSH密钥、数据库密码等敏感信息存到代码仓库的保密变量中,CI环境可直接读取不会明文泄露。
  • 配置CI的执行步骤:自动拉取前后端最新代码、安装依赖、构建前端产物,之后通过SSH连接到AWS服务器,传输产物和最新后端代码,执行迁移、收集静态文件、重启服务的操作即可。

注意事项:

  1. 部署脚本建议增加备份环节,执行数据库迁移前先备份数据库,出现异常可以快速回滚。
  2. 可以在部署流程最后增加健康检查步骤,请求服务接口确认服务正常运行,异常自动触发回滚逻辑。

内容的提问来源于stack exchange,提问作者nerd_geek365

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:54:05