我和我的团队在增加程序集版本号方面表现得非常糟糕,我们经常以1.0.0.0版本发布程序集.显然,这会引起很多头痛.
通过我们的CI平台,我们的实践得到了很大的改善,我真的希望将其设置为自动递增assemblyinfo.cs
文件中的值,这样我们的程序集的版本就会随着该程序集中的代码更改而自动更新.
我之前(在我们找到Hudson之前)已经设置了一种通过msbuild
或命令行(不记得了)增加值的方法,但在Hudson中,这将更新SVN存储库并触发另一个构建.这将导致一个缓慢的无限循环,因为哈德逊每小时都会投票给SVN.
让Hudson增加版本号是个坏主意吗?做这件事的另一种方法是什么?
理想情况下,我的解决方案标准是:
- 在生成之前,将生成数增加到
assemblyinfo.cs
- 仅增加已更改的程序集中的内部版本号.这可能是不可能的,因为Hudson每次生成时都会清除项目文件夹
- 提交更改的assemblyinfo.将cs导入代码库(目前为VisualSVN)
- 不会导致Hudson在下次扫描更改时触发新生成
在我的头脑中解决这个问题,我可以通过批处理文件/命令轻松地想出解决大部分问题的方法,但我所有的 idea 都会导致哈德逊在下次扫描时触发新的构建.我不是在寻找一个能为我做所有事情的人,只是给我指出正确的方向,也许是一种让哈德逊忽略某些SVN提交的技术,等等.
到目前为止,我所发现的一切都只是一篇解释如何使版本号自动递增的文章,没有任何内容考虑到可以旋转成无限循环的CI平台.