19

关于如何/在哪里指定应用程序的版本号是否有任何约定?

例如,对于 ruby​​,gemslib/mygem/version.rb是通常用于该目的的文件。

我的猜测是创建config/version.rb这样的文件:

module MySite
  VERSION = "0.0.4"

  # or in MySite::Application class
  # 
  # class Application
  #   VERSION = "0.0.4"
  # end
end
4

2 回答 2

28

我会回答我自己的问题,我找不到更好的答案。

由于 Rails 应用程序基本上是MySite::Application我认为应用程序的版本应该通过MySite::Application::VERSION这样 create 访问:

配置/初始化程序/version.rb

module MySite
  class Application
    VERSION = "0.0.4"
  end
end

config/version.rb并要求从config/application.rb

于 2012-07-06T09:27:01.040 回答
8

我使用初始化程序将我自己的版本添加到 Configuration 类中:

app_version.rb

class Configuration
  class << self
    attr_accessor :app_version
  end
  @app_version = 0.72
end

在应用程序中,我可以拉取版本:

@app_version = Configuration.app_version

不知道为什么要使用该版本,但我经常使用版本控制,因此我可以查看特定版本的代码是否正在实际运行。在这种情况下,我需要将每个代码修订版本都反映为一个新版本,因此我在我的代码中使用 Git 版本,并且通常只显示它的前几个字符,因为这可能足以识别它。

@git_version = `git show --pretty=%H`[0..39]
于 2012-06-26T01:24:24.543 回答