我们如何在Web应用程序上处理版本控制?
Web应用程序/网站的版本控制策略是什么?
我注意到在Beta中的页脚中有一个svn修订版号,对于在一个存储库上使用svn的应用程序来说,这是理想的选择。但是,如果我们使用外部版本或者版本不同的文件的其他源代码控制应用程序怎么办?
对于桌面应用程序来说似乎很容易,但是我似乎找不到为asp.net Web应用程序进行版本控制的合适方法。
注意:我不确定我是否完全清楚自己的问题。
- 我想知道的是如何为asp.net应用程序构建和自动增加版本号。
- 我对如何与svn链接不感兴趣。
解决方案
回答
对于我的大型应用程序,我只使用存储在主文件(通常为index.php)的注释中的递增版本号id(1.0、1.1,...)。
对于仅网站,我通常只有一个修订号(1、2、3,...)。
回答
我倾向于先使用基本整数(1,2,3),然后在事情变大时继续使用有理数(2.1,3.13)。
曾经尝试过使用水果,非常适合小型办公室。哦,"香蕉"版本?看着角落里的"是的...现在已经很老了..."
不幸的是,随着开发团队的成长,混乱开始出现了,它是Orange,还是Mandarin,还是Tangelo?看起来还可以。你是什么意思"烂在里面?"
...但老实说。将一个单独的存储库设置为主数据库,然后在各种存储库中进行开发。对于每个计划的发行版,所有内容都会检入主存储库,以便在出现问题时可以快速回滚。
(我假设dev / test / production都是单独的服务器,并且绝对不允许dev接触生产或者主存储库...。)
回答
我维护一个Web应用程序系统,其中包含生活在单独的SVN存储库中的各种组件。为了能够对整个系统进行版本跟踪,我有另一个SVN存储库,其中包含所有其他存储库作为外部引用。它还包含用于部署整个程序的安装/设置脚本。通过该设置,"元存储库"的SVN修订版号可能会用于对整个系统进行版本控制。
在另一种情况下,我将通过SVN关键字的SVN修订版本包含在一个没有其他目的的类文件中(以避免关键字替换破坏我的代码的风险)。该文件中的类包含一个字符串变量,该字符串变量由SVN操作并由类方法进行解析。
两种方法的不便之处在于,修订号不会因外部(方法1)或者代码其余部分(方法2)的更改而自动更新。
回答
在内部开发过程中,我使用里程碑编号(M1,M2,M3 ...)。发布后,我可能只会更新日期(" 2009年1月更新")。
回答
我认为我们正在寻找的是这样的:如何使用自定义MSBuild任务自动增加程序集版本。它有点旧,但我认为它将起作用。