本着保持SVN中继干净并准备部署的精神,我一直在使用the following source control model。对于不耐烦的人来说,基本的概念是你创建开发分支来进行实际开发,并在任何时候保持中继干净并准备部署(在主干中没有垃圾)。
除此之外,我正在配置TeamCity以实现持续集成。在TeamCity中,我想确保所有开发分支,以及部署就绪分支(在我的情况下,主干)正确构建并通过所有单元测试。
如果我为每个分支创建一个新的TeamCity项目,这可能是一个愚蠢的问题,但不是对TeamCity过于熟悉?特别是,就绪部署分支有一些额外的规则而不是开发分支。例如,版本应保存在文件系统上的版本化目录中(例如,C:\ Projects \ MyProject \ 1.0.187 ...,C:\ Projects \ MyProject \ 1.0.188 ...)以便于访问二进制文件,在任何时间点。另一方面,不需要在开发分支中保存程序集的版本化副本,并且会浪费硬盘空间。
在TeamCity中,我更愿意看到每个软件项目只有一个项目。换句话说,如果我的公司正在开发X个开发项目,我宁愿看到该项目只列出一次,而不是X * 2(假设每个项目只有两个分支)。
答案 0 :(得分:6)
您只需创建一个项目,但您需要多个构建配置 - 每个分支1个。据我所知,您无法在磁盘上自定义工件文件夹名称(它是自动增量编号),但您可以从UI下载所有工件作为TeamCity 4.5中的zip文件。 TeamCity中还包含一个调度程序,可以清理工件,因此不会占用太多磁盘空间。
答案 1 :(得分:1)