从正在运行的Dyno获取Heroku版本号/代码版本

Kev*_*tre 10 heroku

是否有可能从正在运行的dyno中获得每个slug/release的唯一键?我正在按照这篇文章进行设置RAILS_CACHE_ID(在部署后使etags失效),但发现dynos不再附带GIT配置(导致此错误):

fatal: Not a git repository (or any parent up to mount point /app)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Run Code Online (Sandbox Code Playgroud)

我还考虑将它设置config/initializers为当前时间,但显然不适用于多个dynos.有任何想法吗?

Ric*_*man 14

有一个新的(2015年11月)实验室功能,可以满足您的需求"Dyno元数据" https://devcenter.heroku.com/changelog-items/768

heroku labs:enable runtime-dyno-metadata -a <app name>
Run Code Online (Sandbox Code Playgroud)

然后在heroku上:

~ $ env
HEROKU_APP_ID:                   9daa2797-e49b-4624-932f-ec3f9688e3da
HEROKU_APP_NAME:                 example-app
HEROKU_DYNO_ID:                  1vac4117-c29f-4312-521e-ba4d8638c1ac
HEROKU_RELEASE_VERSION:          v42
HEROKU_SLUG_COMMIT:              2c3a0b24069af49b3de35b8e8c26765c1dba9ff0
HEROKU_SLUG_DESCRIPTION:         Deploy 2c3a0b2
Run Code Online (Sandbox Code Playgroud)