1

我正在尝试为我的 python 3.5.1 / django 1.9.7 项目设置一个连续的集成管道。

该项目在 heroku 上运行良好,只要我的数据库未更改,heroku 的代码部署管道就可以正常工作。

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

我在包含 的“heroku”管道之后在我的代码部署管道中添加了一个“自定义脚本” heroku run python manage.py migrate,但是当 coedship 尝试执行它时,它失败了

Cannot run more than 1 Free size dynos.

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

有没有办法在 heroku 部署管道中包含数据库迁移步骤?还是我做错了什么?

4

1 回答 1

4

我在这里找到了答案:Heroku:不能运行超过 1 个免费大小的测功机

我对网络服务器阻塞测功机的假设是错误的,我有一个我不知道的僵尸进程(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 自定义脚本进行的迁移按预期工作。

于 2016-06-08T04:33:14.777 回答