Archive for the ‘Git’ Category:
Rails app + Git revision na stronie
Podanie bieżącej wersji aplikacji gdzieś na stronie jest przydatne – dodatkowe informacje przy zgłaszaniu błędów + lanserski efekt.
Bardzo często serwujemy aplikację wprost z repozytorium Gita, więc czemu nie podać rewizji?
Użyjemy git describe, które wyświetla wersję w postaci:
ostani_tag-odległość_od_taga-początek_sha1
Z przełącznikiem --dirty dodaje na końcu -dirty jeśli working tree nie jest czyste.
(musi być przynajmniej jeden tag w repozytorium)
Wydobądźmy interesujące nas informacje raz, przy ładowaniu aplikacji.
lib/git_info.rb
module GitInfo BRANCH = `git status`.split[3] REPO_VERSION = `git describe --dirty` end
Można to zrobić za pomocą gemu grit, jednak zrezygnowałem z dodawania zależności.
Rails 3 nie ładuje automatycznie plików z lib/. Można go załadować pojedynczo lub włączyć ładowanie wszystkiego z lib:
config/application.rb
config.autoload_paths += %W(#{config.root}/lib)
app/views/layouts/application.html.erb
...
<div id="footer">
<div id="version">
<span id="branch"><%= GitInfo::BRANCH %> branch</span>
<span id="revision">
rev.
<span id="number">
<%= GitInfo::REPO_VERSION %>;
</span>
</span>
</div>
</div>
...+ trochę magii w CSSie i otrzymujemy przyjemny rezultat z początku wpisu.

Subscribe to the comments for this post