为了部署到Heroku,我使用git push heroku master.但是,如何查看我推送到heroku的版本?(如果我把最新的版本推上去,我经常会有疑问)
对于那些不熟悉它的人,Heroku的创建脚本会生成一个可以推送的远程git存储库.推送后,代码将神奇地部署.
Heroku在表单中为本地添加了一个远程存储库:
$ git remote add heroku git@heroku.com:appname.git
Run Code Online (Sandbox Code Playgroud)
Heroku手册"使用Git进行部署"中的详细信息
问题是:如何在Heroku存储库中查看最新版本?
我知道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
我想我的Heroku应用程序(Play/Scala,在Heroku Cedar上运行)的运行时能够向我报告它是从哪个git提交的.Heroku应用程序通常由Heroku基础架构上的slug编译器构建 - 不幸的是,slug编译器将此作为此构建过程的早期部分:
删除未使用的文件,包括.git目录,.gitmodules文件,log和tmp中的任何内容,以及顶级.slugignore文件中指定的任何内容.
...所以Git信息不再可用于sbt-buildinfo我用于记录Git提交的插件.
如何在slug中记录HEAD提交?这些信息是否有可用的环境变量?