我的Procfile中有以下发布阶段:
release: bundle exec rake db:migrate
当我将PR合并到我的暂存和制作应用程序时,它很有效,但在新的评论应用程序上运行时却失败了。 Heroku文档说发布阶段是在成功构建之后运行的,所以我不知道它为什么找不到bundle
。
这是我的输出
heroku releases:output 9 --app my-app-pr-253
/bin/sh: 1: bundle: not found
答案 0 :(得分:1)
对于Heroku的评论应用程序,您必须在app.json
文件中指定所需的所有buildpack和ENV vars。您可以手动创建一个,也可以让Heroku为您生成一个。
https://devcenter.heroku.com/articles/github-integration-review-apps#app-json
确认您已指定的app.json
1)所需的构建包https://devcenter.heroku.com/changelog-items/670。由于您使用bundle
我猜测heroku/ruby
将是一个。以下是一个例子。
"buildpacks": [
{
"url": "https://github.com/heroku/heroku-buildpack-ruby.git"
},
2)另外,请确保指定要从正在构建审阅应用程序的应用程序继承的任何配置变量。 https://devcenter.heroku.com/articles/app-json-schema#env缺少其中一个也可能导致构建失败。
如果这些都不起作用,请尝试检查heroku应用程序的日志。在构建期间观察Heroku GUI中的那些。还尝试在CLI中拖尾日志。
heroku logs -t -a <review_app_name>
答案 1 :(得分:0)
我发现了我的问题。这是一个愚蠢的错字:
"buildpacks": [
{
"url": "heroku/ruby",
"url": "https://github.com/guillaume-tgl/heroku-buildpack-ghostscript.git"
}
]
应该是:
"buildpacks": [
{ "url": "heroku/ruby"},
{ "url": "https://github.com/guillaume-tgl/heroku-buildpack-ghostscript.git" }
]