3
我正在开发一个Django应用程序,我大约完成了50%。我在一个我想开始向人们展示的地方,因此我需要部署它。我已经决定将我的主机放在Heroku上。我想从一开始,因此我下面的问题列表正确做到这一点...在Heroku上部署Django应用程序的最佳实践
这里的事情的当前状态:
- 我想使用新的管道中Heroku.That方式的功能,我可以 轻松地在我的应用程序的分期和生产版本之间移动。
- 我想用一个CI服务器(目前我看circleci.com)
- 我使用Python 3.5
- 我想在部署 过程尽可能地自动化,这样的作为运行的迁移和测试(如果需要)等
- 如果它很重要,但我的代码是到位桶
托管不知道所以,我的问题是:
- CI服务器明显运行测试。我是否应该对 进行我的测试,以及Heroku上的舞台和制作测功机?
- 我应该直接从CI服务器部署到Heroku吗?
- 我应该使用哪些工具来自动部署?我不能使用织物(仅限python2),invoke看起来没有生产准备。如果我只编写我自己的简单部署脚本,这很好吗?
- 然后还有一堆其他工具,比如我已经阅读过的docker和tox,但是我不确定是否需要它们中的任何一个。
- 还有什么我在将Heroku应用程序部署到Heroku时应该记住的吗?
谢谢,这是非常有益的。至于第1点,我正在谈论单元测试。我应该在Heroku分段服务器上运行单元测试吗?在生产服务器上运行它怎么样?当我在本地进行开发和测试时,测试运行者会创建一个单独的测试数据库,在测试运行后将其销毁,从而使我的当前数据库保持完好。我假设在Heroku上运行测试时可以做类似的事情,或者情况并非如此? – Johan
从我的观点来看,单元测试的重点是验证函数内部的功能,并且环境应该被嘲弄。所以没有理由在生产环境中运行它们,单元测试只能在CI服务器上运行,而不能在分段或生产服务器上运行。 – fodma1