使用 Procfile 部署到 dokku 会干扰 'dokku run'

Deploying with a Procfile to dokku interferes with 'dokku run'

我最近添加了 dokku-shoreman 插件和一个 Procfile,这样当我部署。它看起来像这样:

web: bundle exec rails server -p $PORT
worker:  bundle exec rake jobs:work

但是,现在当我使用 dokku run <app> <cmd> 例如 ...rake db:migrate 服务器和 worker 开始 运行ning 而不是 .

目前我知道如何 运行 工人的唯一方法是 Procfile。在我部署后手动启动它不是一个大问题 - 只是我不知道如何。

虽然理想的情况仍然是让 Procfiledokku run 都工作。

更新 2 Dokku 现在支持这个 http://dokku.viewdocs.io/dokku/deployment/process-management/

更新:先结帐dokku-alt(不再维护)——这是我改用的。

这是一个 known issue 与 dokku。

这是对我有用的问题讨论中的 temporary solution 详细信息:

  1. 将 actualProcfile 重命名为 Procfile.real
  2. 使用以下内容创建一个新的 Procfile

    web: bundle exec foreman start -f Procfile.real

  3. Gemfile
  4. 中添加 gem 'foreman' 作为部门
  5. 运行 bundle install
  6. 提交 Procfile*Gemfile*
  7. 推送