我正在为http://www.dif.io注册代理,以便跟踪部署在Heroku上的应用程序.我错过了部署的应用程序的一些信息.注册代理是一个脚本(通常用应用程序本机语言编写),它被设计为在部署之后执行(例如heroku运行或者通过某些post deploy hook(如果有的话)自动执行).
如何从应用程序内部获取应用程序名称,URL和一些UUID标识符,最好是从某些ENV变量中获取?我需要它可以在语言之间移植.
我探索了一个示例Python应用程序,并且缺少以上所有信息.只有几个与Python相关的ENV变量.然而,dyno主机名看起来像UUID.
我可以使用类似的东西,但没有用户/密码要求:https: //addons.heroku.com/provider/resources/technical/reference/app-info
请指出正确的文档.
小智 42
该命令app:info似乎不再是一个heroku命令,但只会info做同样的事情:
heroku info -s | grep web_url | cut -d= -f2
Run Code Online (Sandbox Code Playgroud)
或设置变量
heroku config:set HEROKU_URL=$(heroku info -s | grep web_url | cut -d= -f2)
Run Code Online (Sandbox Code Playgroud)
Jam*_*ith 25
Dyno元数据于2015年12月推出.它目前是必须首先启用的实验室功能.
Dyno元数据使dyno可以轻松访问有关应用程序和环境的信息.可用dyno元数据的示例包括有关发布,dyno大小,应用程序名称以及特定运行dyne的唯一标识符的详细信息.
https://devcenter.heroku.com/articles/dyno-metadata
Joh*_*ann 10
2016年8月出现了一个实验室附加组件,它将所有这些添加到您的环境中:
~ $ env
HEROKU_APP_ID: 9daa2797-e49b-4624-932f-ec3f9688e3da
HEROKU_APP_NAME: example-app
HEROKU_DYNO_ID: 1vac4117-c29f-4312-521e-ba4d8638c1ac
HEROKU_RELEASE_CREATED_AT: 2015-04-02T18:00:42Z
HEROKU_RELEASE_VERSION: v42
HEROKU_SLUG_COMMIT: 2c3a0b24069af49b3de35b8e8c26765c1dba9ff0
HEROKU_SLUG_DESCRIPTION: Deploy 2c3a0b2
Run Code Online (Sandbox Code Playgroud)
https://devcenter.heroku.com/articles/dyno-metadata
小智 9
据我所知,Dynos本身没有关于它们运行的应用程序名称或URL的任何信息.Dynos上的文档列出了设置的本地环境变量,但它只有PORT和DYNO.
我们在hubot中使用的一种解决方法是要求用户使用应用主机名添加HEROKU_URL等配置.
我发现你可以编写大部分脚本,通过使用heroku app:info带有-s外壳友好的标志,稍微进行一些点击和切割:
$ heroku apps:info -s | grep web_url | cut -d= -f2
http://hubotio-campfire.herokuapp.com/
Run Code Online (Sandbox Code Playgroud)
并设置HEROKU_URL:
$ heroku config:set HEROKU_URL=$(heroku apps:info -s | grep web_url | cut -d= -f2)
Run Code Online (Sandbox Code Playgroud)
对于那些来到这里,试图找到一种方法来获取 Heroku 中评论应用程序的应用程序 URL 的人,我们有两个额外的环境变量可用:
因此,推断 URL 就是:“http(s)://HEROKU_APP_NAME.herokuapp.com”
以下是仅适用于应用程序名称的内容:
heroku info -s | grep git-url | sed 's#.\+\.com/\(.\+\)\.git$#\1#g'
Run Code Online (Sandbox Code Playgroud)
我的用例是找到在 shell 脚本中使用的应用程序名称,该脚本专门需要应用程序名称(而不是域名)。青年会
我使用了git-url而不是web-url因为域名可以被覆盖为自定义的东西,但应用程序名称将始终保持映射到 git url。如果要查找域名,请查看其他答案之一。
应用程序名称存储在您的网址中,例如appname.herokuapp.com.
您可以通过多种方式获取它,例如ENV['URL'].split(".").first在 python 中,以“.”分割时获取 url 形式的第一个值。代表你的应用程序名称
| 归档时间: |
|
| 查看次数: |
39843 次 |
| 最近记录: |