我们正在使用Subversion来开发我们内部使用的工件。当为工件创建并测试标签时,它将进入生产阶段。让我们说工件的版本1.3.5
上线了。开发人员无法直接访问生产服务器,只有系统管理员才能知道当前在生产中使用的确切版本。
现在我们假设有一个快速解决方案可以对当前正在生产的版本1.3.5
进行修改。开发人员应使用关联的1.3.5
代码并从中创建1.3.5-fix
分支,这将生成1.3.6
代码。但他们怎么知道版本1.3.5
是生产中使用的那个,是从哪个分支?列出公司生产中使用的工件版本的推荐方法是什么?
它不一定是代表生产的最新标签。也许在生产中发现了一个严重的错误(在QA阶段没有找到错误),并且实时版本已经降级到之前的版本/标签。
是否有软件或某种模式列出“当前在环境中使用哪些版本”?我知道通信可以是一个答案,但我会优先考虑正式和自动化的东西。
答案 0 :(得分:3)
更改构建过程以为目标平台创建安装包。
例如,如果部署到Redhat Linux,为您的软件创建RPM包有两个重要的优点:
答案 1 :(得分:2)
简单的方法(虽然是手工完成,而不是自动完成):当您要创建标记(例如。1.3.5
)时,您将更改保存版本信息字符串的部分代码(在.NET中,那可以是AssemblyInfo.cs类。提交代码并创建标记1.3.5
。然后,可以在应用程序的页脚中显示的代码读取此版本信息字符串(如果您运行的是网站),或者可以通过专用的Web方法(如果您运行的是Web服务)检索它。类似适用于其他类型的应用程序。
如果您使用AssemblyInfo.cs,则会按以下方式阅读:
string version = Assembly.GetExecutingAssembly().GetName().Version;
现在任何人都可以轻松查看当前正在运行的软件版本。