运行 使用 codeship 将 django 应用程序部署到 heroku 时的迁移
Running migrations when deploying django app to heroku with codeship
我正在尝试为我的 python 3.5.1 / django 1.9.7 项目设置一个持续集成管道。
该项目在 heroku 上 运行 运行良好,只要我的数据库不变,heroku 的 codeship 部署管道就可以正常工作。
如果我想 运行 迁移,我必须通过在我的计算机上输入 heroku run python manage.py migrate
手动执行,我想避免这样做。
我在包含 heroku run python manage.py migrate
的 "heroku" 管道之后的 codeship 部署管道中添加了一个 "Custom Script",但是当 coedship 尝试执行它时,它失败并显示
Cannot run more than 1 Free size dynos.
留言。我假设这是因为服务器已经启动并且 运行ning 而我没有更多可用的工作进程? (如果我错了请纠正我)
编辑: 这是我错的地方 - 我有一个额外的过程 运行ning(见答案)
有没有办法在 heroku 部署管道中包含数据库迁移步骤?还是我做错了什么?
我在这里找到了答案:
我关于网络服务器成为阻塞测功机的假设是错误的,我有一个僵尸进程(createsuperuser)运行我不知道。
我用 heroku ps
来显示所有 运行 进程。输出为:
=== web (Free): gunicorn my_app.wsgi --log-file - (1)
web.1: idle 2016/06/07 17:09:06 +0200 (~ 13h ago)
=== run: one-off processes (1)
run.7012 (Free): up 2016/06/07 15:19:13 +0200 (~ 15h ago): python manage.py createsuperuser
我通过键入
终止了进程
heroku ps:stop run.7012
然后我通过 codeship 自定义脚本进行的迁移按预期进行。
我正在尝试为我的 python 3.5.1 / django 1.9.7 项目设置一个持续集成管道。
该项目在 heroku 上 运行 运行良好,只要我的数据库不变,heroku 的 codeship 部署管道就可以正常工作。
如果我想 运行 迁移,我必须通过在我的计算机上输入 heroku run python manage.py migrate
手动执行,我想避免这样做。
我在包含 heroku run python manage.py migrate
的 "heroku" 管道之后的 codeship 部署管道中添加了一个 "Custom Script",但是当 coedship 尝试执行它时,它失败并显示
Cannot run more than 1 Free size dynos.
留言。我假设这是因为服务器已经启动并且 运行ning 而我没有更多可用的工作进程? (如果我错了请纠正我) 编辑: 这是我错的地方 - 我有一个额外的过程 运行ning(见答案)
有没有办法在 heroku 部署管道中包含数据库迁移步骤?还是我做错了什么?
我在这里找到了答案:
我关于网络服务器成为阻塞测功机的假设是错误的,我有一个僵尸进程(createsuperuser)运行我不知道。
我用 heroku ps
来显示所有 运行 进程。输出为:
=== web (Free): gunicorn my_app.wsgi --log-file - (1)
web.1: idle 2016/06/07 17:09:06 +0200 (~ 13h ago)
=== run: one-off processes (1)
run.7012 (Free): up 2016/06/07 15:19:13 +0200 (~ 15h ago): python manage.py createsuperuser
我通过键入
终止了进程heroku ps:stop run.7012
然后我通过 codeship 自定义脚本进行的迁移按预期进行。