Ada*_*amB 18 versioning version-control ruby-on-rails
什么是版本的rails应用程序的最佳方法?我们希望开始进入更加结构化的测试周期,并且每个构建版本的设置版本都是其中的一部分.我们使用subversion但我想避免使用版本的修订号.有一种简单的方法可以自动执行此操作吗?或者我应该在应用程序助手中定义app_version方法?
(我们使用subversion进行源代码控制)
Max*_*ick 22
如果使用git,可以在environment.rb文件中创建一个静态变量,从git中提取当前标记名称.如果你正在使用像git flow这样的东西,那么效果很好.
添加到environment.rb:
APP_VERSION = `git describe --always` unless defined? APP_VERSION
Run Code Online (Sandbox Code Playgroud)
现在你可以<%= APP_VERSION %>在你的意见中.请注意,这不适用于Heroku.
资料来源:http://blog.danielpietzsch.com/post/1209091430/show-the-version-number-of-your-rails-app-using-git
您可以使用subversion关键字:
本质上,您可以有一个辅助方法...
def app_version
"$Id$"
end
Run Code Online (Sandbox Code Playgroud)
$Id$是svn会扩展的关键字(上面的链接有其他可以使用的链接)。现在,我们在该文件上设置keyword属性,以使svn知道它应该替换关键字(假设application_helper.rb):
svn propset svn:keywords "Id" application_helper.rb
svn ci application_helper.rb
Run Code Online (Sandbox Code Playgroud)
现在,如果您查看application_helper.rb,它将读取(类似这样,版本,日期,用户名已更改)
def app_version
"$Id: application_helper.rb 282 2009-06-26 10:34:17Z root $"
end
Run Code Online (Sandbox Code Playgroud)
显然,您可以将其分配给变量,然后将其解析为所需的格式,将其包含在视图模板等中。或者执行相同的操作,而不是application_helper.rb,只需要VERSION在根目录中使用一个文件即可。
| 归档时间: |
|
| 查看次数: |
4586 次 |
| 最近记录: |