我正在开发一个Django应用程序,目前已经完成了大约50%的工作。我想要开始向人们展示它,因此需要将其部署。我已经决定将其托管在Heroku上。我希望从一开始就做得正确,因此下面是我的问题列表...
以下是当前状态:
- 我想要使用Heroku中的新管道功能。这样我可以轻松地在我的应用程序的暂存和生产版本之间切换。 - 我想要使用CI服务器(目前我正在寻找circleci.com)。 - 我正在使用Python 3.5。 - 我希望尽可能自动化部署过程,例如运行迁移和测试(如果需要)等。 - 不确定是否重要,但我的代码托管在Bitbucket上。
所以,我的问题是:
以下是当前状态:
- 我想要使用Heroku中的新管道功能。这样我可以轻松地在我的应用程序的暂存和生产版本之间切换。 - 我想要使用CI服务器(目前我正在寻找circleci.com)。 - 我正在使用Python 3.5。 - 我希望尽可能自动化部署过程,例如运行迁移和测试(如果需要)等。 - 不确定是否重要,但我的代码托管在Bitbucket上。
所以,我的问题是:
- CI服务器显然会运行测试。我是否也应该在Heroku的暂存和生产dyno上运行我的测试?
- 我应该直接从CI服务器部署到Heroku吗?
- 我应该使用哪些工具来自动化部署?我不能使用fabric(仅适用于python2),invoke看起来还没有完全准备好。如果我只编写自己简单的部署脚本,这样可以吗?
- 然后还有一堆其他工具,比如docker和tox,但我不确定我是否需要它们?
- 在将Django应用程序部署到Heroku时,还有什么其他事项需要注意?