Heroku 部署继续使用 nodejs 构建而不是使用 heroku.yml

Heroku deployment keeps building with nodejs instead of using heroku.yml

这里有点不知所措。这就是我在日志中得到的内容:

C:\Users\tzahi\Documents\my-app>git push heroku heroku-fixes-and-repo-cleanup:master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 343 bytes | 343.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Building on the Heroku-20 stack
remote: -----> Using buildpacks:
remote:        1. heroku/nodejs
remote:        2. https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git
remote:        3. https://github.com/appositum/heroku-buildpack-youtube-dl.git
remote: -----> Node.js app detected

如有必要,我可以 post 完整日志,但似乎出错了“检测到 Node.js 应用程序。”

这是我的根文件夹的样子(请注意缺少 Procfile):

root
│--heroku.yml
│--Dockerfile.heroku
│--app.json
│--package.json
│   ...

app.json:

{
    "name": "my-app",
    "description": "blah blah blah",
    "repository": "https://github.com/Tzahi12345/my-app",
    "stack": "container",
    "logo": "https://i.imgur.com/GPzvPiU.png",
    "keywords": ["youtube-dl", "youtubedl-material", "nodejs"]
}

heroku.yml:

build:
  docker:
    web: Dockerfile.heroku
  run:
   web: npm start

不确定 run 部分是否必要,但我暂时将其保留在那里(这方面似乎没有太大变化)。

Dockerfile.heroku:

FROM tzahi12345/my-app:my-tag

我试过了:

不确定我哪里出错了。我假设如果我在根目录中有 heroku.yml 文件,在 app.json 中有 "stack": "container",它会检测到它是一个 Docker 容器并适当地构建。任何 thoughts/suggestions 将不胜感激!谢谢:)

编辑:

也许我应该在这里明确我的最终目标。我想让用户能够在存储库中使用 link 部署应用程序,并让构建过程使用 heroku.yml,如 here.

所述

应该是

heroku stack:set container