我希望使用基于 Heroku 实验室设置的任何可能值的缓存键将文件加载到我的 Rails 缓存中:Dyno 元数据插件 ( https://devcenter.heroku.com/articles/dyno-metadata )。
在那篇文章中,我正在寻找一个在 slug 构建过程早期可用的唯一标识符。
HEROKU_RELEASE_CREATED_AT: 2015-04-02T18:00:42Z
HEROKU_RELEASE_VERSION: v42
HEROKU_SLUG_COMMIT: 2c3a0b24069af49b3de35b8e8c26765c1dba9ff0
这是我感兴趣的三个(上面的示例数据)。在我的资产预编译步骤中,我依赖于一个唯一值,我决定使用上述 3 个中的任何一个。此步骤是在我的 Rails 应用程序运行之前完成的。
最初我尝试过,HEROKU_RELEASE_VERSION但我注意到它直到 slug 构建过程完成才设置,这意味着在我的资产预编译步骤中,它是nil.
然后我试图HEROKU_SLUG_COMMIT看看在资产预编译之前是否知道这一点。它是否正确?从一些初始测试来看,它似乎工作正常(至少在资产预编译之前已知),但是我想知道这些设置的正确顺序。
如果这不是 中可用的早期值ENV[],那么更好的建议是什么?
====== 更新:
我一直在尝试使用以下值的配置:
HEROKU_RELEASE_CREATED_AT: 2015-04-02T18:00:42Z
HEROKU_RELEASE_VERSION: v42
HEROKU_SLUG_COMMIT: 2c3a0b24069af49b3de35b8e8c26765c1dba9ff0
我注意到,在构建资产之前,上述值不会在构建前发生变化,而是在构建后发生变化。下面,我得到了下面的结果输出。正如您所看到的,当前的部署只是2583508在构建过程中ENV['HEROKU_SLUG_COMMIT']返回8318914,直到应用程序完成,然后ENV['HEROKU_SLUG_COMMIT']更新为2583508.
=== sample-app Releases - Current: v356
v356 Deploy 2583508 email@gmail.com 2017/04/26 20:05:51 -0400 (~ 40s ago)
v355 Deploy 8318914 email@gmail.com 2017/04/26 19:51:33 -0400 …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用 Git 日志进行哪些自定义,我想我已经确定了适合我的日志。但是,我不确定如何标记整个 git 消息。我可以在第一行完成,并且我假设整个 git 消息是一个长字符串。
另外,是否可以像 Git log default 那样输出整个 git commit 消息?也就是说,消息的每行 1 行。
默认的 Git 日志:
commit 3246e9dfcf80d8edada9a559684b528658b8ccf5
Author: Reid
Date: Thu Jun 9 16:30:35 2016 -0400
Refactored Loading Indicators
commit 219a67a34036b40d18091ea3a1df6417c5feb245
Author: Reid
Date: Fri Jun 3 14:50:59 2016 -0400
Filter out Promotions < 0
Submission of Promo Code working with error messages
Refactored Loading Indicators
Limit 1 promo code per order via Mini Cart
Cart stays open if they change quantity of item
Migrated …Run Code Online (Sandbox Code Playgroud)