我在Heroku上使用与Github集成的评论应用程序功能.在我的一个应用程序中,我设置了一个名为的环境变量HOST_NAME.例如,如果该站点是http://www.purplebinder.com,那么HOST_NAME将设置为www.purplebinder.com.它用于我们使用cookie和交易电子邮件的几个地方.
当我打开一个新的拉取请求并启动评论应用程序时,HOST_NAME应该是这样的purplebinder-pr-27.herokuapp.com.
有没有办法自动设置这个值?关于评论应用程序的Heroku文档说env var可以从父应用程序继承值或者硬编码app.json.这些方法都不适用于此,因为每次都需要不同的值,也不同于父应用程序.
Heroku还说env var可以通过"生成器"设置,但不会详细说明它是什么.
此问题可能与为评论应用设置ROOT_URL重复,但没有人回答这个问题.它也类似于如何从应用程序内部获取Heroku应用程序名称,但其中的答案涉及在创建应用程序后运行脚本 - 这里我想将此值设置为初始构建的一部分.
use*_*559 13
为了帮助编写脚本,可以使用两个特殊的配置变量来查看应用程序.如果您 在文件中指定
HEROKU_APP_NAME或HEROKU_PARENT_APP_NAME作为必需或可选的配置变量app.json,Heroku将分别将这些配置变量设置为新的应用程序名称和父应用程序名称.然后,它们将可用于postdeploy脚本,以便您可以执行更高级的引导和配置.这是一个
app.json使用HEROKU_APP_NAME和的示例文件HEROKU_PARENT_APP_NAME:Run Code Online (Sandbox Code Playgroud){ "name":"Advanced App", "scripts": { "postdeploy": "rake db:setup && bin/bootstrap" }, "env": { "HEROKU_APP_NAME": { "required": true }, "HEROKU_PARENT_APP_NAME": { "required": true } } }
如果将heroku-buildpack-cli添加到父应用程序,则可以从部署后脚本中设置环境变量.该命令应如下所示:
heroku config:set HOST_NAME=${HEROKU_APP_NAME}.herokuapp.com --app ${HEROKU_APP_NAME}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6405 次 |
| 最近记录: |