我想在浏览器中显示当前git提交的哈希,以便测试团队(没有运行heruko命令的访问权限)将能够在错误报告中包含相应的提交哈希.
首先我尝试了砂砾,但有些东西被打破了,它在Heroku上不起作用(在本地它很好用,我不知道为什么它在Heroku上失败了).
所以我发现Heroku上有两个环境变量:
ENV["COMMIT_HASH"]
ENV["LAST_COMMIT_BY"]
Run Code Online (Sandbox Code Playgroud)
但它们都不可用(两者都是零).
我还检查过:
heroku config
Run Code Online (Sandbox Code Playgroud)
但同样,两者都未定.
有没有办法检索哈希信息?有没有办法获得更多的git信息,例如日期?
我有一个在Heroku上托管的开发分支,我们有几个人使用这个分支查找bug,很高兴显示最新部署在Heroku上的提交的SHA-1哈希,以便我们知道哪些bug属于提交.
但我完全找不到任何方法来查找这些信息.heroku运行控制台中的ENV变量中没有任何内容.虽然"heroku发布"确实显示了部署信息列表,包括SHA-1哈希的前几个字符,但这让我认为Heroku必须存储它,但我无法找到它.有人知道吗?
我意识到我并没有像我应该那样明确地提出这个问题:我想在Heroku上找到Rails里面的SHA-1哈希.就像我可以这样做:
<h1><%= ENV['REV']</h1>
Run Code Online (Sandbox Code Playgroud)
谢谢!
我知道slug 编译器会删除.git在创建 heroku slug 时目录,但是有什么方法可以配置 Heroku 以便我可以从脚本中访问当前正在运行的 git 提交号?
我希望能够在我的 sinatra 应用程序(在 Heroku 中运行)上有一个小链接,上面写着“运行版本 e72fb274a0 ”(或类似的东西)。如何检索它,或强制 slug 编译器将其添加到环境变量中?
进步:
我认为最好的方法是制作一个自定义 buildpack,在删除 .git 目录之前将 git commit 版本号写入 heroku slug。
我已经尝试过这样做(请参阅我的 ruby buildpack 分支),但是我添加的行 –第 23 行– 似乎没有完成这项工作。Heroku 看到并使用新的 buildpack,但似乎没有将文件写入 slug。
任何人都知道为什么我的自定义 buildpack 没有按预期工作?
谢谢,
J.P