2016-06-07 90 views
1

我试图为我的python 3.5.1/django 1.9.7项目设置一个持续集成管道。在将django应用程序部署到具有codeku的heroku时运行迁移

该项目在heroku上运行良好,只要我的数据库没有改变,heroku的代码管理部署管道工作正常。

如果我想运行迁移,我必须通过在我的计算机上输入heroku run python manage.py migrate来手动执行迁移操作,我希望避免这种迁移。

我在codeship部署管线中增加了一个“自定义脚本”包含heroku run python manage.py migrate的“Heroku的” -pipeline后,但是当coedship试图执行它,它失败与

Cannot run more than 1 Free size dynos.

消息。我认为这是因为服务器已经启动并运行,并且我没有更多可用的工作进程? (请纠正我,如果我错了) 编辑:这是我错了 - 我有一个额外的进程中运行(参见答案)

有没有什么办法,包括在Heroku的部署数据库迁移步骤管道?还是我做错了什么?

回答

3

Ifound答案在这里:Heroku: Cannot run more than 1 Free size dynos

我对theweb服务器beeing阻塞赛道的假设是错误的,我有一个僵尸进程(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自定义脚本我的移民都按预期。

相关问题