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