рельсы показывают текущую версию моего кода на странице - PullRequest
1 голос
/ 16 сентября 2010

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

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

Мне интересно, существуют ли уже существующие решения?Было бы предпочтительно, если бы он мог, например, использовать tag информацию из git.

Ответы [ 2 ]

5 голосов
/ 21 сентября 2010

Я нашел драгоценный камень, который на самом деле делает именно то, что мне нужно: версия . Это позволяет управлять версией до предела легко, с необходимыми граблями, без привязки к ювелиру, а также позволяет помечать github в процессе.

При разработке драгоценного камня я продолжаю использовать ювелир, но для моих рельсовых проектов это как раз то, что мне нужно.

Для получения дополнительной информации см. Документацию к самоцвету .

1 голос
/ 16 сентября 2010

У Jeweler есть несколько рейковых заданий, которые очень хорошо справляются с управлением версиями. Я использовал его только для драгоценных камней, но вы, вероятно, можете вставить файл VERSION и использовать те же самые грабли в приложении rails. Я действительно думал о том, чтобы сделать то же самое для моего приложения. Я обновлю этот ответ более подробной информацией, если скоро доберусь до него. Для своих драгоценных камней я добавил несколько новых рейковых заданий, которые сочетают в себе некоторые из ювелирных заданий. Каждый раз, когда у меня появляется новая версия, я запускаю одну из задач, и она увеличивает версию (мажор, минор или патч), помещает свой код в github и помечает его все одним действием:

namespace :version do
  desc "create a new version, create tag and push to github"
  task :github_and_tag do
    Rake::Task['github:release'].invoke
    Rake::Task['git:release'].invoke
  end

  desc "bump patch push to github"
  task :patch_release do
    Rake::Task['version:bump:patch'].invoke
    Rake::Task['version:github_and_tag'].invoke
  end

  desc "bump minor push to github"
  task :minor_release do
    Rake::Task['version:bump:minor'].invoke
    Rake::Task['version:github_and_tag'].invoke
  end

  desc "bump major push to github"
  task :major_release do
    Rake::Task['version:bump:major'].invoke
    Rake::Task['version:github_and_tag'].invoke
  end
end

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

Если вы будете запускать эти задачи каждый раз, когда у вас будет новая версия, ваш файл VERSION будет синхронизирован с вашим проектом github. Если бы это был я, я просто прочитал бы номер версии из файла и использовал бы что-то вроде settingslogic , чтобы установить константу .. или вы можете установить ее в инициализаторе. Таким образом, вы знаете, что каждый раз, когда вы перезапускаете приложение, оно будет читать правильную версию

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