当您从版本控制软件中检出代码以执行持续集成或夜间构建时,通常都会做些什么?你是1)拉出最新的代码,还是2)拉出一些代表开发人员最新测试代码的标签(即功能)?
我猜这个问题的答案取决于人们通常如何使用他们的配置管理库。你打算让它只存储“完整”的代码吗?如果是这种情况,如果开发人员在一项任务上工作了一周左右,他/她将无法签入任何东西,直到任务完全完成。然而,如果持续集成服务器只是由一个众所周知的标签拉动,而不是拉出最新的代码,那么这将允许开发人员非常频繁地签入代码,因为他们正在努力存储他们正在进行的工作的历史记录。然后,一旦他们对这些更改感到满意,他们就可以用FUNCTIONAL标记来标记他们的新代码。
只是想知道最好的做法。
谢谢
发布于 2009-10-21 10:08:05
因此,我们通常要做的是在CI服务器的基础上构建一个"build“分支。我们将所有我们想要包含在夜间构建中的内容合并到build分支中,它将在那里构建。
我们实际上并不针对构建分支进行开发,我们有开发分支,用于保存尚未准备好发布到测试环境中的更改。
发布于 2009-10-21 10:44:06
我为CI提出的主要建议(更像是经验法则):
我的一些经验是:我们的CI可以从主管/主管那里获取代码。我们在这里使用git,所以我们的开发人员在分支上工作并保持同步总是非常容易的-但他们只能向HEAD/MASTER提交稳定的代码。
发布于 2009-10-21 11:33:50
正确的答案取决于您如何组织代码。
如果主线总是被认为是稳定的/工作的,那么你只需在此基础上进行构建。
如果你有一个“黄金”分支,那么.
在我们的店里,我们有三种分支机构:
分支机构都是金色的、可发布和可发布的//在那里可以完成混乱的手术
(当然,要做到这一点,需要一个好的风险投资家。我们使用perforce,它有非常棒的分支。)
我们从主线和发布分支进行持续构建。
HTH
https://stackoverflow.com/questions/1598378
复制相似问题