Вставить Git Commit Войти в приложение Rails? - PullRequest
4 голосов
/ 05 января 2011

Итак, у меня есть «блог разработки» в приложении rails, над которым я сейчас работаю. Я использую Git для контроля версий и развертывания (хотя сейчас я работаю над этим единственным).

Теперь, когда я делаю изменения в Git, я помещаю довольно приличную запись в журнал о том, что я сделал. Я бы хотел, чтобы журнал коммитов Git автоматически публиковался в блоге разработчиков или был доступен другим пользователям для чтения на развернутом сайте.

Существует ли автоматический способ вывести журнал Git Commit в представление в приложении rails?

Ответы [ 3 ]

6 голосов
/ 05 января 2011

Некоторые хосты Git позволяют вам использовать ловушку пост-фиксации, и это может позволить вам сделать HTTP-вызов для отправки соответствующих операторов журнала в ваше приложение.

Если вы являетесь хостингом,check githooks .

Если вы используете Github, вы можете использовать их пост-коммит пост (более подробно здесь: http://help.github.com/post-receive-hooks/)

4 голосов
/ 05 января 2011

Возможно, вы захотите взглянуть на grit , которая представляет собой библиотеку ruby, которая предоставляет доступ к материалам в git-репо.

Я использую грит в своем личном блоге.Я пишу статьи в текстовых файлах и фиксирую их в git-репо, а затем отправляю git-репо на мой сервер, где мое приложение rails читает файлы из git-репо как сообщения в блоге с использованием grit.получить последнее сообщение о коммите:

require 'grit'
include Grit
repo = Repo.new('<path to your .git dir>')
puts repo.commits('master',1)[0].message # latest commit message
puts repo.commits('master',1)[0].date # last commit date
1 голос
/ 05 января 2011

Я добавил задачу Capistrano, чтобы сделать нечто подобное:

deploy.rb

<code>  namespace :deploy do
    desc <<-DESC
      Updates info.html with build and deploy info
    DESC
    task :timestamp do
      run "cd #{current_path}; printf '<pre>\\nDeployed on: %s\\n\\n%s\\n
'\ "` date` \ "\" `git log -n 1` \"> public /info.html "end end после" deploy "," deploy: timestamp "

Я просто показываю последний коммит, но вы можете изменить команду git log, чтобы показать все, что вы хотели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...