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

Version control rails在页面上显示我的代码的当前版本,version-control,ruby-on-rails-3,Version Control,Ruby On Rails 3,在我的网站的页脚,我想清楚地显示哪个版本的代码是活的。 我使用git作为版本控制。这将是伟大的,以获得一些视觉反馈,知道哪个版本是真正的生活 我想显示一些可读的数字,比如gem版本号。我可以创建一个版本文件,在每次需要时对其进行管理和增加 我很好奇,是否已有任何现有的解决方案?最好是使用git中的标记信息。Jeweler有一些rake任务,可以很好地为您处理版本控制。我只在gems中使用过它,但您可能可以在rails应用程序中插入一个版本文件并使用相同的rake任务。实际上,我一直在考虑为我的应

在我的网站的页脚,我想清楚地显示哪个版本的代码是活的。 我使用git作为版本控制。这将是伟大的,以获得一些视觉反馈,知道哪个版本是真正的生活

我想显示一些可读的数字,比如gem版本号。我可以创建一个版本文件,在每次需要时对其进行管理和增加


我很好奇,是否已有任何现有的解决方案?最好是使用git中的标记信息。

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
若你们并没有它,就去做一个假的宝石,把它放在github上,然后玩转这些任务,直到你们对它们有了感觉。我试了几次,看了看源代码,以完全理解它在做什么


如果每次有新版本时都运行这些任务,则版本文件将与github项目同步。如果是我,我会从文件中读取版本号,然后使用类似于设置常量的东西。。或者您可以在初始值设定项中设置它。这样,您就知道,每次重新启动应用程序时,它都会读取正确的版本。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
若你们并没有它,就去做一个假的宝石,把它放在github上,然后玩转这些任务,直到你们对它们有了感觉。我试了几次,看了看源代码,以完全理解它在做什么


如果每次有新版本时都运行这些任务,则版本文件将与github项目同步。如果是我,我会从文件中读取版本号,然后使用类似于设置常量的东西。。或者您可以在初始值设定项中设置它。这样,你就知道每次你重新启动你的应用程序时,它都会读取正确的版本。我发现了一个gem,它确实可以满足我的需要:。 它允许非常轻松地管理版本,使用所需的rake任务,而无需与jeweler耦合,还允许在此过程中标记github

在开发gem时,我一直使用jeweler,但对于我的rails项目,这正是我所需要的


有关更多信息,请参阅gem的。

我发现一个gem确实可以满足我的需要:。 它允许非常轻松地管理版本,使用所需的rake任务,而无需与jeweler耦合,还允许在此过程中标记github

在开发gem时,我一直使用jeweler,但对于我的rails项目,这正是我所需要的


有关更多信息,请参阅gem的。

我正在使用jeweler制作我的gems,但不知何故我没有建立这种联系。这是一个非常好的主意。非常感谢。我仍然很想知道是否还有其他选择…我正在使用jeweler来制作我的宝石,但不知为什么我没有建立这种联系。这是一个非常好的主意。非常感谢。我仍然很想知道是否还有其他选择…非常有趣,特别是在敏捷工作时。。。我们每月创建一个新版本!非常有趣,特别是在敏捷工作时。。。我们每月创建一个新版本!