1

我们正在使用 Subversion 来开发我们在内部使用的工件。当为工件创建标签并对其进行测试时,它就会投入生产。1.3.5假设一个工件的版本上线了。开发人员无法直接访问生产服务器,只有系统管理员可以知道当前在生产中使用的确切版本。

现在假设对当前正在生产的版本进行快速修复,1.3.5. 开发人员应该获取关联的1.3.5标签并从中创建一个1.3.5-fix分支,这将导致一个1.3.6标签。但是他们怎么知道版本1.3.5是在生产中使用的版本,是从哪个版本分支出来的呢?列出公司生产中使用的工件版本的推荐方法是什么?

它不一定是代表生产的最新标签。可能在生产中发现了严重的错误(在 QA 阶段未发现错误),并且实时版本已降级到以前的版本/标签。

是否有软件或某种模式来列出“环境中当前使用的版本”?我知道沟通可以是一个答案,但我更喜欢正式和自动化的东西。

4

2 回答 2

3

更改您的构建过程,为您的目标平台创建安装包。

例如,如果部署到 Redhat Linux,为您的软件创建 RPM 包有两个重要优势:

  1. 用于分发二进制文件的存储库技术
  2. 操作系统为您的软件提供安装程序(“yum”命令)
  3. 操作系统维护一个软件清单。“rpm”命令可以告诉你安装了哪个版本。
于 2015-02-14T21:37:26.737 回答
2

简单的方法(虽然是手工完成,而不是自动完成):当您要创建标签(例如1.3.5)时,您将更改保存版本信息字符串的部分代码(在 .NET 中,可以是AssemblyInfo.cs类) . 提交代码并创建一个标签1.3.5。然后,此版本信息字符串将由可显示在应用程序页脚中的代码读取(如果您正在运行网站),或者您可以通过专用 Web 方法检索它(如果您正在运行 Web 服务)。类似的适用于其他类型的应用程序。

如果您使用的是AssemblyInfo.cs,您将像这样阅读它:

string version = Assembly.GetExecutingAssembly().GetName().Version;

现在,任何人都可以轻松查看当前正在运行的软件版本。

于 2015-02-14T19:31:16.813 回答