什么是识别当前在生产中使用哪些工件版本的好方法?

时间:2015-02-14 14:24:45

标签: svn deployment version-control dev-to-production

我们正在使用Subversion来开发我们内部使用的工件。当为工件创建并测试标签时,它将进入生产阶段。让我们说工件的版本1.3.5上线了。开发人员无法直接访问生产服务器,只有系统管理员才能知道当前在生产中使用的确切版本。

现在我们假设有一个快速解决方案可以对当前正在生产的版本1.3.5进行修改。开发人员应使用关联的1.3.5代码并从中创建1.3.5-fix分支,这将生成1.3.6代码。但他们怎么知道版本1.3.5是生产中使用的那个,是从哪个分支?列出公司生产中使用的工件版本的推荐方法是什么?

它不一定是代表生产的最新标签。也许在生产中发现了一个严重的错误(在QA阶段没有找到错误),并且实时版本已经降级到之前的版本/标签。

是否有软件或某种模式列出“当前在环境中使用哪些版本”?我知道通信可以是一个答案,但我会优先考虑正式和自动化的东西。

2 个答案:

答案 0 :(得分:3)

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

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

  1. 用于分发二进制文件的存储库技术
  2. 操作系统为您的软件提供安装程序(" yum"命令)
  3. 操作系统维护软件清单。 " rpm"命令可以告诉您安装了哪个版本。

答案 1 :(得分:2)

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

如果您使用AssemblyInfo.cs,则会按以下方式阅读:

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

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