代码之家  ›  专栏  ›  技术社区  ›  nathanvda

rails在页面上显示我的代码的当前版本

  •  1
  • nathanvda  · 技术社区  · 14 年前

    在我的网站,在页脚,我想清楚地显示哪个版本的代码是活的。

    我想显示一些可读的数字,比如gem版本号。我可以创造一个 VERSION 文件,我管理它并在每次需要时增加它。

    tag 来自git的信息。

    2 回复  |  直到 14 年前
        1
  •  1
  •   johnmcaliley    14 年前

    Jeweler有一些rake任务,可以很好地为您处理版本控制。我只在gems中使用过它,但是你可以在rails应用程序中插入一个版本文件并使用相同的rake任务。实际上,我一直在考虑为我的应用程序做同样的事情。。我会更新这个答案与更多的细节,如果我得到它很快。对于我的gems,我添加了一些新的rake任务,它们结合了一些jeweler任务。每次我有一个新版本时,我运行其中一个任务,它会增加版本(主要、次要或修补程序),将我的代码推送到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
    

    得到 jeweler

    如果每次有新版本时都运行这些任务,则版本文件将与github项目同步。如果是我,我会从文件中读取版本号,然后使用 settingslogic

        2
  •  5
  •   nathanvda    14 年前

    我发现了一颗宝石,它确实能满足我的需要: version .

    有关更多信息,请参阅宝石的 documentation .