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

Elastic Beanstalk部署Django应用:线上环境未同步最新Git提交求助

解决EB部署Django应用后代码不更新的问题
  • 确认EB CLI的部署目标环境
    执行eb list查看当前关联的环境是否正确,不少情况是误部署到了其他测试环境。如果目标环境不对,用eb use <正确环境名>切换后重新部署。

  • 强制用最新源码包部署
    部署时添加--staged参数,直接用本地已提交的Git内容打包,绕开EB可能的缓存:eb deploy --staged
    也可以手动生成部署包再部署:

    1. 执行git archive -o latest.zip HEAD生成最新代码压缩包
    2. 用eb deploy --package latest.zip指定这个包部署到EB
  • 排查Django静态文件缓存问题
    如果是页面静态资源没更新,先确认是否配置了STATICFILES_STORAGE指向S3这类云存储,本地更新静态文件后要重新执行python manage.py collectstatic,并且确保EB的部署配置里自动执行这个步骤。另外可以给静态文件加版本号,比如在settings.py里设置STATIC_URL = '/static/%Y%m%d/',避免浏览器缓存旧资源。

  • 检查EB环境的部署配置
    查看EB环境是否开启了滚动部署或蓝绿部署,可能旧版本实例还在对外提供服务。执行eb status确认所有实例都完成了新部署的切换。同时检查aws:elasticbeanstalk:container:python配置项里的WSGI Path是否正确,有没有指向旧的应用入口文件。

  • 查看部署日志找异常
    执行eb logs --all获取完整部署日志,重点搜索部署失败的报错(比如依赖安装失败、数据库迁移出错),这些情况EB会自动回滚到旧版本。优先查看/var/log/eb-activity.log(部署过程日志)和/var/log/httpd/error_log(web服务日志),确认部署时有没有异常中断。

  • 重置EB应用版本缓存
    登录AWS控制台进入EB应用,删除所有多余的应用版本(只保留当前部署的),然后重新执行eb deploy。也可以用AWS CLI手动创建新版本并部署:

    aws elasticbeanstalk create-application-version --application-name <你的应用名> --version-label v$(date +%Y%m%d%H%M) --source-bundle S3Bucket=<你的S3桶>,S3Key=<最新源码包路径>
    aws elasticbeanstalk update-environment --application-name <你的应用名> --environment-name <你的环境名> --version-label v$(date +%Y%m%d%H%M)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 08:22:44