Jak mogę pobrać aktualną wersję zatwierdzania Git z aplikacji Ruby on Rails?Otrzymywanie aktualnej wersji zatwierdzania Git z poziomu aplikacji Rails?
Chcesz wyświetlić wersję Git (lub może ostatnich 6 liter), aby służyć jako wersja aplikacji.
Jak mogę pobrać aktualną wersję zatwierdzania Git z aplikacji Ruby on Rails?Otrzymywanie aktualnej wersji zatwierdzania Git z poziomu aplikacji Rails?
Chcesz wyświetlić wersję Git (lub może ostatnich 6 liter), aby służyć jako wersja aplikacji.
można wywołać komendę git
od wewnątrz skryptu:
commit = `git show --pretty=%H`
puts commit
zależności od środowiska może chcesz użyć pełnej ścieżki do pliku binarnego git i ewentualnie określić GIT_DIR poprzez zmienną środowiskową lub --git-dir
.
Zakładam, że chcesz umieścić gdzieś wersję aplikacji w swoim kodzie HTML? Warunkiem jest, że wdrażasz repozytorium z Capistrano w sposób domyślny (przesyłasz repozytorium, nie wysyłając pliku archiwum).
Możesz dodać kod do inicjalizatora Rails jako outlined here. Takie podejście spowoduje uzyskanie SHA1 z ostatniego zatwierdzenia i udostępnienie go jako zmiennej środowiskowej.
Innym sposobem, aby to zrobić, to mieć cię zadanie Capistrano wygenerować plik statyczny w katalogu publicznym z commit SHA w nim. Możesz dołączyć do tego pliku inne informacje, które wydają się przydatne.
Z capistrano 3, po prostu przeczytaj plik REVISION, w bieżącym folderze. – barbacan
Jak @meagar powiedział, użyj odwrócone, pojedyncze apostrofy, aby wykonać polecenie powłoki z poziomu aplikacji, ale można znaleźć te dwa polecenia bardziej przydatne:
Pełna hash:
git rev-parse HEAD
pierwsze 7 znaków hash :
git rev-parse --short HEAD
Nauczyłem się czegoś nowego dzisiaj, dzięki! Nie wiedziałem, że możesz użyć cudzysłowów dla poleceń powłoki. –
Nie użyłem tego, więc nie mogę polecić go z doświadczenia, ale możesz użyć [grit] (https://github.com/mojombo/grit), jeśli chcesz czegoś więcej OO. –
Aaron, uważany za żwir, ale to bardziej skomplikowane rozwiązanie niż moje proste użycie. –