2016-01-13 294 views
0

我想维护我的Rails应用程序的一个版本,这样我就可以很容易地在发布版上碰到它。我在哪里存储这个版本项目中不同的地方迷迷糊糊的,但我不知道在哪里存储它的推荐方式:在哪里存储一个Rails应用程序的版本

    app/version.rb
  • ,在MyRailsAppModule::VERSION;
  • in app/version.rb,in a VERSION;
  • in app/VERSION,为纯文本;
  • in VERSION,as plain text。

我特别感谢一些专业人士对于选择的解决方案,至于为什么建议将它存储在那里。

+0

如果只是在发布上碰撞。如何在Git中添加标签发布 - http://githowto.com/tagging_versions? – RAJ

回答

1

我曾经在团队中每天部署超过10次的新版本。我认为它错误倾向于期望开发人员以有意义的方式在每个部署中增加版本号。

我会建议配置您的部署脚本来标记释放在git与标签如production/2015-01-13_13-18-42

允许查看在给定时间范围内部署了哪个标签。由于git允许签出或回复标签,所以很容易回滚,测试或只是比较不同的版本。

+0

我很欣赏描述你过去的经历。只使用git标签听起来确实很好,但我们有自定义终端打印应用程序版本,而这些终端是从应用程序内部的某处获取的。否则,也许CI工具可以自动碰撞,对吧?但我正在看哪里存储这个版本。 – linkyndy

1

对于每2-4周部署一个版本的项目,我传统上将版本存储在应用程序信息常量模块中,与第一个示例类似。通常我们使用了常量MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION和一种方法以"#{major}.#{minor}.#{patch}"的形式显示。

如果您不打算向应用程序的用户显示版本,但显然这超出了必要性,但我们发现它是有效的,并且我们更新过程的一个重要部分是更新此文件。

+0

你是否一直在手动更新这个文件? – linkyndy

+0

是的。我们开发新迭代的第一步是确定其范围,从而确定我们是否正在更新为新的主要,次要或补丁编号。对我们来说,这是重要的一步,因为我们已经在我们的VCS(公司要求)中命名了版本分支,所以有人不得不键入数字。也就是说,在代码中使用这些值已被证明是有用的,因为它们也在自定义生成器中得到了利用(例如,我们使用种子文件的自定义结构,并在每个版本中生成一个新的并根据当前版本进行命名)。 – ConnorCMcKee

+0

这真的很有帮助。但是这意味着如果您将范围修改为2.0.0,那么在部署到生产环境之前,此版本将适用于所有环境,对吧?我宁愿有更具体的版本,比如测试/ qa环境下的'2.0.0.pre.1',暂存/ uat环境下的'2.0.0.rc.1',只有'2.0.0'项目的最终/生产状态。 – linkyndy

相关问题