Как добавить номер сборки и дату из github в коде ruby? - PullRequest
4 голосов
/ 14 декабря 2011

Как вы можете автоматически импортировать последний номер коммита github из github?

Цель состоит в том, чтобы этот номер был виден на нижнем колонтитуле вашей веб-страницы, как это делает SO с датой.Какова структура :

У меня есть производственная ветка, которая развернута с использованием Capistrano.Я хочу показать последний номер коммита github с указанием даты его развертывания.

Ответы [ 2 ]

5 голосов
/ 14 декабря 2011

Предполагая, что вы используете gem settingslogic для настроек приложения, укажите это в инициализаторах:

git_log = `git log -1 --pretty="format:%H %ci"`
if git_log =~ /^([\d\w]+?)\s(.+)$/
  Settings[:git_revision] = $1
  Settings[:git_update]   = $2.strip
end

У вас будет последний SHA git commit в Settings.git_revision и дата фиксации в Settings.git_update.

Дополнительно вы можете получить последний тег:

git_tag = `git describe --tags --abbrev=0`
Settings[:git_tag] = git_tag.strip if git_tag

Будет доступно в Settings.git_tag.

Обновление:

Я выпустил маленький рубиновый камень git-revision . С ним вы можете просто сделать:

"commit: #{Git::Revision.commit} date: #{Git::Revision.date}"
0 голосов
/ 14 декабря 2011

Как возможное решение вы можете увидеть в (универсальном) решении с git smudge | clean filters (см. Часть «Расширение ключевых слов»)

...