我可以在heroku app的environment.rb中运行`git describe`吗?

时间:2012-11-19 17:36:27

标签: ruby-on-rails git heroku

我有一大堆代码可以在环境启动时(环境.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吗?

1 个答案:

答案 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版本放入应用程序代码中,以便将其显示为应用程序的一部分。