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
我试过了:
- 正在从 app.json
中删除 "stack": "container"
- 运行
heroku set:stack container
- 运行 从相关分支部署 link:
https://heroku.com/deploy?template=https://github.com/Tzahi12345/my-app
- 向 heroku 众神祈祷
不确定我哪里出错了。我假设如果我在根目录中有 heroku.yml 文件,在 app.json
中有 "stack": "container"
,它会检测到它是一个 Docker 容器并适当地构建。任何 thoughts/suggestions 将不胜感激!谢谢:)
编辑:
也许我应该在这里明确我的最终目标。我想让用户能够在存储库中使用 link 部署应用程序,并让构建过程使用 heroku.yml,如 here.
所述
应该是
heroku stack:set container
这里有点不知所措。这就是我在日志中得到的内容:
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
我试过了:
- 正在从 app.json 中删除
- 运行
heroku set:stack container
- 运行 从相关分支部署 link:
https://heroku.com/deploy?template=https://github.com/Tzahi12345/my-app
- 向 heroku 众神祈祷
"stack": "container"
不确定我哪里出错了。我假设如果我在根目录中有 heroku.yml 文件,在 app.json
中有 "stack": "container"
,它会检测到它是一个 Docker 容器并适当地构建。任何 thoughts/suggestions 将不胜感激!谢谢:)
编辑:
也许我应该在这里明确我的最终目标。我想让用户能够在存储库中使用 link 部署应用程序,并让构建过程使用 heroku.yml,如 here.
所述应该是
heroku stack:set container