我喜欢自动版本控制构建的想法,但我不确定将AssemblyInfo.cs更改放回源代码控制的正确方法是什么(或者它是否应该进入源代码控制)。这是CI服务器应该为每个构建自动提交的内容吗? 目前正在使用Bamboo。
我们正在使用Teamcity作为我们的CI服务器,它带有一个名为AssemblyInfo patcher的功能。这个功能会暂时在Assemblyinfo.cs中添加Teamcity构建号码,生成构件,然后撤销更改。这样生成的构件版本号与构建号相同。源代码控制可以将assemblyinfo.cs版本条目设置为开发人员正在处理的当前修订版本,其中'*'表示构建号。这可以在每次发布后更新。 编辑1: 由于您正在使用Bamboo,此处是一个链接,描述了一种在Bamboo生成的构件中设置构建号的方法,而无需检入AssemblyInfo.cs。
我有点困惑你的问题。如果你想让更改持久化,你需要在构建任务编辑 AssemblyInfo.cs 后提交它。然而,大多数试图解决这些问题的构建系统并不会持久化更改。它们只是检出文件,在启动构建任务之前编辑本地版本。