我最近被分配到一个发布工程团队,努力让我们的构建过程更具可管理性。在我们产品的历史中,我们只是在每个版本中都构建了版本控制库中的所有内容,因为它并不是一个时代。这包括我们拥有源代码的第三方产品(例如,包括企业库),我们自己的内部框架代码,最后是产品本身。然而,经过几年稳定的产品增长,这已经成为一个非常繁琐的过程。这就是说,我们想建立一种分层构建系统,其中只有产品(每天都在变化)建立在每天的基础上,而我们的框架代码(变化少得多)和我们的第三方代码(几乎从不)仅在它们更改时才构建。我们有一个符号&设置源代码服务器,以便于调试代码,比如我们的框架库,这些代码并不是每个版本都新建的,但我们仍在弄清楚如何促进这一点。为了记录,我们使用TFVC进行源代码控制。TFS:如何缓存框架构建以减轻构建过程?
我的问题是这些:这种事情使用什么样的做法?我们是否为这个构建的每个“层级”(即第三方的团队项目,框架和产品)分别建立了团队项目并将它们分成了另一个?我们是否曾将一层的构建产品检入下一个以确保依赖关系解决?如果不是,二进制文件在哪里生活?这些要求是否会要求我们使用GAC?
最后,如果有任何关于这类东西的指导,我喜欢做一些阅读;但是,由于我是新手创建/发布工程,我还不知道在哪里寻找。
谢谢!
很棒。粗略地说,这是我梦寐以求的方法。虽然自动化框架安装的想法非常有趣!我没有想到这一部分,而是以某种方式使用源代码管理来管理二进制文件。但是,只有通过使用安装程序才能使不同的构建相关联,这当然是有吸引力的。这是否意味着当您发货时,必须运行几个安装程序来安装产品,或者是否将最终产品安装程序中的依赖关系重新打包? – bwerks 2011-08-10 14:39:21