【问题标题】:Running migrations when deploying django app to heroku with codeship使用 codeship 将 django 应用程序部署到 heroku 时运行迁移
【发布时间】:2016-10-07 13:50:28
【问题描述】:

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

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

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

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

Cannot run more than 1 Free size dynos.

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

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

【问题讨论】:

    标签: django heroku codeship


    【解决方案1】:

    我在这里找到了答案:Heroku: Cannot run more than 1 Free size dynos

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

    【讨论】:

      猜你喜欢
      • 2019-08-28
      • 2016-09-28
      • 2020-10-23
      • 2016-11-16
      • 2020-04-30
      • 2017-10-31
      • 2019-06-25
      相关资源
      最近更新 更多