PythonWeb
  • Introduction
  • Python Web 开发: 测试驱动方法
    • 准备工作和应具备的知识
    • 前言
    • 第一部分 TDD 和 Django 基础
      • 第 1 章 使用功能测试协助安装 Django
      • 第 2 章 使用 unittest 模块扩展功能测试
      • 第 3 章 使用单元测试测试简单的首页
      • 第 4 章 编写这些测试有什么用
      • 第 5 章 保存用户输入
      • 第 6 章 完成最简可用的网站
    • 第二部分 Web 开发要素
      • 第 7 章 美化网站: 布局, 样式, 及其测试方法
      • 第 8 章 使用过渡网站测试部署
      • 第 9 章 使用 Fabric 自动部署
      • 第 10 章 输入验证和测试的组织方式
      • 第 11 章 简单的表单
      • 第 12 章 高级表单
      • 第 13 章 试探 JavaScript
      • 第 14 章 部署新代码
    • 第三部分 高级话题
      • 第 15 章 用户认证_集成第三方插件以及 JavaScript 模拟技术的使用
      • 第 16 章 服务器端认证,在 Python 中使用模拟技术
      • 第 17 章 测试固件,日志和服务器端调试
      • 第 18 章 完成My Lists页面:由外而内的TDD
      • 第 19 章 测试隔离和倾听测试的心声
      • 第 20 章 持续集成
      • 第 21 章 简单的社会化功能,页面模式,以及练习
      • 第 22 章 测试运行速度的快慢和炽热的岩浆
    • 附录
      • 附录 A PythonAnywhere
      • 附录 B 基于类的 Django 视图
      • 附录 C 使用 Ansible 配置服务器
      • 附录 D 测试数据库迁移
Powered by GitBook
On this page
  • 14.1 部署到过渡服务器
  • 14.2 部署到线上服务器
  • 14.3 如果看到数据库错误该怎么办
  • 14.4 总结:为这次新发布打上 Git 标签

Was this helpful?

  1. Python Web 开发: 测试驱动方法
  2. 第二部分 Web 开发要素

第 14 章 部署新代码

14.1 部署到过渡服务器

先部署到过渡服务器中:

cd deploy_tools
fab deploy:host=watch@watch0.top

重启 Gunicorn:

sudo restart gunicorn-watch0.top

然后在过渡服务器中运行测试:

python3 manage.py test functional_tests --liverserver=watch0.top

14.2 部署到线上服务器

假设在过渡服务器上一切正常,那么就可以运行脚本,部署到线上服务器:

fab deploy:host=watch@watch0.top

14.3 如果看到数据库错误该怎么办

迁移中引入了一个完整性约束,你可能会发现迁移执行失败,因为某些现有的数据违背了约束规则。

此时有两个选择:

  • 删除服务器中的数据库,然后再部署试试。

  • 或者,学习如何迁移数据。

14.4 总结:为这次新发布打上 Git 标签

最后要做的一件事是,在 VCS 中为这次发布打上标签——始终能跟踪线上运行的是哪个版本十分重要:

git tag -f LIVE # 需要制定 -f,因为我们要替换旧标签
export TAG=`date + DEPLOYED-%F/%H%H`
git tag $TAG
git push -f origin LIVE $TAG

有些人不喜欢使用 push -f,也不喜欢更新现有的标签,而是使用某种版本号标记每次发布。

Previous第 13 章 试探 JavaScriptNext第三部分 高级话题

Last updated 5 years ago

Was this helpful?