本着保持我的 SVN 主干干净并准备好部署的精神,我一直在使用以下源代码控制模型。对于不耐烦的人,基本概念是您创建开发分支来进行实际开发,并随时保持主干干净并准备好部署(主干中没有垃圾)。
除此之外,我正在配置 TeamCity 以进行持续集成。在 TeamCity 中,我想确保所有开发分支以及部署就绪分支(在我的情况下为主干)正确构建并通过所有单元测试。
这可能是一个愚蠢的问题,但对 TeamCity 不太熟悉,我应该为每个分支创建一个新的 TeamCity 项目吗?特别是,部署就绪分支比开发分支有一些额外的规则。例如,发布应该保存在文件系统上的版本化目录中(例如,C:\Projects\MyProject\1.0.187...、C:\Projects\MyProject\1.0.188...),以便轻松访问二进制文件,在任何时间点。另一方面,在开发分支中保存程序集的版本副本是不必要的,并且会浪费硬盘空间。
在 TeamCity 中,我希望每个软件项目只看到一个项目。换句话说,如果我的公司正在开发 X 个开发项目,我希望该项目只列出一次,而不是 X * 2(假设每个项目只有两个分支)。