第十站:部署、可观测性与升级
本站把工单台从“开发机能跑”推进到可部署、可定位、可回滚。部署是应用、数据库、静态资源、代理和监控共同完成的状态迁移。
发布前命令
bash
python -Wd manage.py test
python manage.py check --deploy
python manage.py makemigrations --check --dry-run
python manage.py collectstatic --noinput
python manage.py migrate --plan专题:部署、观测与 5.2 → 6.0 升级 | 静态文件、健康检查与发布证据
交付物
- WSGI/ASGI 选择记录、进程数和数据库连接预算。
- 迁移、应用、静态文件的发布顺序与回滚条件。
- 结构化日志包含请求 ID、路由、状态、耗时和版本,不含秘密。
- 备份恢复、优雅停机和旧版本回滚各演练一次。
深水边界
应用回滚不一定能回滚数据库。先扩展 schema、兼容双版本、回填与切换,最后再收缩。多个 worker 不共享进程内缓存;ASGI 也不会让同步数据库调用免费并发。
练习(先做)
- 写一次 5.2 LTS → 6.0 升级检查表。
- 让日志能从 500 响应追到请求 ID 和发布版本。
- 演练迁移已执行而应用需回滚的场景。