[英]What does "=!= Unknown error" indicate on Heroku build?
我有一個web
應用程序在 Heroku 上運行,web 測功機在container
堆棧上。 通過我的 app.json 和 heroku.yml 文件添加worker
測功機,Heroku 為我的 Review 應用程序日志構建系統:
=== Fetching app code
=!= Unknown error
該應用程序通過 Docker 和 Docker Compose 在本地正確構建。 它一直在 Heroku 上正確構建,直到我修改了heroku.yml
文件和app.json
文件以添加工人。
我的問題是:
heroku.yml:
build:
docker:
web: Dockerfile
release:
command:
- ./release_commands.sh
image: web
run:
web:
command: newrelic-admin run-program python manage.py runserver 0.0.0.0:$PORT
worker:
command: newrelic-admin run-program python manage.py rqworker app
image: web
app.json:
{
"name": "my-app",
"stack": "container",
"formation": {
"web": {
"quantity": 1
},
"worker": {
"quantity": 1
}
},
"environments": {
"review": {
"formation": {
"web": {
"quantity": 1,
"size": "hobby"
},
"worker": {
"quantity": 1,
"size": "hobby"
}
},
"addons": [
"heroku-redis",
{
"plan": "heroku-postgresql",
"options": {
"version": 13
}
}
],
"env": {
"DEBUG": 1,
"ENVIRONMENT": "dev",
"ALLOWED_HOST": ".herokuapp.com",
"CSRF_TRUSTED_DOMAIN": "*.herokuapp.com"
}
}
}
}
對於下一個遇到此問題的人:這是兩個heroku.yml
問題之間的極端案例,由 YAML 訂購引起。
run.<app>.command
是一個數組。 如果不是,Heroku 將拋出解析錯誤(如下)。run
在release
上面定義。 如果不是,並且條件 (1) 存在, Heroku 將無法拋出解析錯誤,而是拋出Unknown error
。 如果上述heroku.yml
被修改,用戶將看到以下錯誤:
正確訂購heroku.yml
且command
不正確地設置為字符串而不是數組:
build:
docker:
web: Dockerfile
run:
web:
command: newrelic-admin run-program python manage.py runserver 0.0.0.0:$PORT
worker:
command: newrelic-admin run-program python manage.py rqworker app
image: web
release:
command:
- ./release_commands.sh
image: web
產生構建錯誤:
=== Fetching app code
=!= There were problems parsing your heroku.yml. We've detected the following issues:
run.worker.command needs to be in array format, such as:
run:
worker:
command:
- newrelic-admin run-program python manage.py rqworker app heap braze
image: web
順序對 YAML 鍵( https://yaml.org/spec/1.2.2/#3221-mapping-key-order )無關緊要。 但是當run
定義在release
下面,並且沒有進行其他更改時,Heroku 的錯誤 output 看起來像這樣:
=== Fetching app code
=!= Unknown error
因此,此 Heroku 錯誤 output 的一個原因是 YAML 訂購。 左右切換鍵可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.