我有一大堆代码可以在环境启动时(环境.rb)获取当前仓库的git版本。
APP_VERSION = `git describe --always --long` unless defined? APP_VERSION
那是让我拉起网站,转到某个页面,看到网站上的版本是正确的。这段代码正在使用EngineYard,但是在Heroku上我会在应用程序启动时得到这个:
fatal: Not a git repository (or any of the parent directories): .git
在heroku上可以运行git describe
吗?
答案 0 :(得分:5)
我认为你不能;当您使用git push
将应用程序部署到Heroku时,它似乎将其放入存储库,然后在没有git存储库的情况下对代码进行干净的检查。你可以使用heroku run bash
命令来查看,看看有什么。这是我的一个应用程序的用途:
$ heroku run bash
Running `bash` attached to terminal... up, run.1
~ $ ls -a
. bin config.ru Gemfile lib public .rspec TODO.txt
.. .bundle db Gemfile.lock Procfile Rakefile script vendor
app config doc .gitignore .profile.d README spec
没有.git
目录,因此git
命令不起作用。
如果您只想查看当前部署的版本,可以在“活动”选项卡下的应用程序的Heroku仪表板中看到该版本。 (https://dashboard.heroku.com/apps/[your app name]/activity
)但我不确定如何将git
版本放入应用程序代码中,以便将其显示为应用程序的一部分。