Terraform / Heroku 在 heroku/ruby buildpack 中找不到 'web' 进程
Terraform / Heroku not finding 'web' process in heroku/ruby buildpack
我在 Terraform 中遇到错误:
Error: Patch "https://api.heroku.com/apps/coderdojo-contentful-staging/formation/web": Couldn't find that process type (web).
│
│ with heroku_formation.coderdojo_contentful_staging_formation[0],
│ on terraform.tf line 41, in resource "heroku_formation" "coderdojo_contentful_staging_formation":
│ 41: resource "heroku_formation" "coderdojo_contentful_staging_formation" {
来自我的 terraform.tf
文件的这些行:
resource "heroku_formation" "coderdojo_contentful_staging_formation" {
count = length(var.formations)
app = heroku_app.coderdojo_contentful_staging.name
type = lookup(var.formations[count.index], "type")
quantity = lookup(var.formations[count.index], "quantity")
size = lookup(var.formations[count.index], "size")
}
依赖于我的 terraform.tfvars
文件中的这些行:
formations = [
{
type = "web"
size = "standard-1x"
quantity = "1"
}
]
buildpacks = [
"heroku/ruby"
]
在线搜索文档(例如 buildpacks and heroku-buildpack-ruby),Web 进程类型似乎来自 buildpack,或 Procfile
。
另一个项目使用非常相似的设置(即没有 Procfile
)工作正常,但添加了 heroku/nodejs
buildpack。我尝试添加该构建包但遇到了同样的错误。
我错过了什么?
Another project works fine with a very similar setup (i.e. no Procfile
), but with the addition of a heroku/nodejs
buildpack. I tried adding that build pack but got the same error.
如果 Procfile
不存在,heroku/nodejs
buildpack 回退到 package.json
中定义的启动脚本。我怀疑您使用该构建包的其他项目有一个启动脚本。 Ruby buildpack has no such default.
如果您的应用不需要 Node.js,请不要添加 Node.js buildpack。相反,将 Procfile
添加到存储库的根目录,告诉 Heroku 如何 运行 您的应用程序,例如
web: bundle exec ruby path/to/some/script.rb
这定义了一个 web
过程 运行 s bundle exec ruby ruby path/to/some/script.rb
。
我在 Terraform 中遇到错误:
Error: Patch "https://api.heroku.com/apps/coderdojo-contentful-staging/formation/web": Couldn't find that process type (web).
│
│ with heroku_formation.coderdojo_contentful_staging_formation[0],
│ on terraform.tf line 41, in resource "heroku_formation" "coderdojo_contentful_staging_formation":
│ 41: resource "heroku_formation" "coderdojo_contentful_staging_formation" {
来自我的 terraform.tf
文件的这些行:
resource "heroku_formation" "coderdojo_contentful_staging_formation" {
count = length(var.formations)
app = heroku_app.coderdojo_contentful_staging.name
type = lookup(var.formations[count.index], "type")
quantity = lookup(var.formations[count.index], "quantity")
size = lookup(var.formations[count.index], "size")
}
依赖于我的 terraform.tfvars
文件中的这些行:
formations = [
{
type = "web"
size = "standard-1x"
quantity = "1"
}
]
buildpacks = [
"heroku/ruby"
]
在线搜索文档(例如 buildpacks and heroku-buildpack-ruby),Web 进程类型似乎来自 buildpack,或 Procfile
。
另一个项目使用非常相似的设置(即没有 Procfile
)工作正常,但添加了 heroku/nodejs
buildpack。我尝试添加该构建包但遇到了同样的错误。
我错过了什么?
Another project works fine with a very similar setup (i.e. no
Procfile
), but with the addition of aheroku/nodejs
buildpack. I tried adding that build pack but got the same error.
如果 Procfile
不存在,heroku/nodejs
buildpack 回退到 package.json
中定义的启动脚本。我怀疑您使用该构建包的其他项目有一个启动脚本。 Ruby buildpack has no such default.
如果您的应用不需要 Node.js,请不要添加 Node.js buildpack。相反,将 Procfile
添加到存储库的根目录,告诉 Heroku 如何 运行 您的应用程序,例如
web: bundle exec ruby path/to/some/script.rb
这定义了一个 web
过程 运行 s bundle exec ruby ruby path/to/some/script.rb
。