【发布时间】:2012-02-23 17:23:48
【问题描述】:
我在 heroku 上有一个现有的 node.js 应用程序,我想通过提供 0.6.7 buildpack 来升级 node.js 版本。
是否可以更新分配给 Heroku 应用的 buildpack?
如果不是,升级应用程序使用的构建包的建议路径是什么?
如果我必须部署一个新应用,我如何确保插件不会死掉?
谢谢,
马特
【问题讨论】:
我在 heroku 上有一个现有的 node.js 应用程序,我想通过提供 0.6.7 buildpack 来升级 node.js 版本。
是否可以更新分配给 Heroku 应用的 buildpack?
如果不是,升级应用程序使用的构建包的建议路径是什么?
如果我必须部署一个新应用,我如何确保插件不会死掉?
谢谢,
马特
【问题讨论】:
来自 Heroku 的 buildpack 文档的 Setting a Buildpack 部分(2021 年 6 月)
在应用程序上设置构建包
您可以通过设置 buildpack 值来更改应用程序使用的 buildpack。下次推送应用时,将使用新的 buildpack。
$ heroku buildpacks:set heroku/php
Buildpack set. Next release on random-app-1234 will use heroku/php.
Run `git push heroku master` to create a new release using this buildpack.
您也可以将其更改为特定的非官方的,如下所示:
heroku buildpacks:set https://github.com/some/buildpack.git -a myapp
链接页面上提供了更多详细信息,其中还包括有关如何在创建应用时进行设置的信息。
【讨论】:
heroku create myapp --buildpack https://github.com/heroku/heroku-buildpack-ruby
之前你可以为 BUILDPACK_URL 设置一个配置变量,如果设置了这个值,仍然会使用这个值,尽管通过 CLI 设置的 buildpack 值将优先。现在不推荐使用 BUILDPACK_URL 作为配置变量,取而代之的是 API 上的 buildpack 值,并且将来会被迁移。
来源:Heroku
【讨论】:
如果你有一个公共的 git repo(例如 https://github.com/heroku/heroku-buildpack-nodejs 的一个分支),这应该是可能的。
要更新您正在使用的 buildpack,请使用 Heroku CLI 设置 BUILDPACK_URL 配置:
heroku config:add BUILDPACK_URL=git://github.com/heroku/heroku-buildpack-nodejs.git
(注意:将 git URL 替换为您的 buildpack 的 URL。
【讨论】: