2016-02-12 103 views
0

我们有一种情况,我们正在使用SVN,并且开发人员为我们要实现的功能以及缺陷修复以及有时候实验分支或尖峰而分支。什么是“樱桃采摘”分支部署的良好工作流程?

我们还有一个'暂存'分支,指示暂存服务器的当前状态。

在部署到登台服务器的过程中,我们必须确定准备好进行登台以及没有登台的准备。目前,这是通过询问每个开发人员并相信他们会记住哪些功能或错误已准备好推出(有时是在几周前)。

我敢肯定有这样做的更好的办法,但我不知道该往哪个方向走:

  1. 当开发人员完成一个项目,它已经准备好了升级,把 它像/ tags/readyforstaging /?这样的标签文件夹然后将每次部署后的内容移动到/ tags/archive /之类的内容中? (但将这与修订历史记录混淆?)
  2. 与#1相同的想法,但创建一个新的根文件夹以避免与标签的静态性质混淆,如/ ready/staging /和/ ready/archive /?

我不确定我们可以让开发人员直接合并到分段中,因为我们可能不希望他们的功能因任何原因而进入下一个部署。

有没有人知道这样做的好方法,所以我们有一个明确的清单,准备就绪,但不会破坏修订历史/图形的破坏?

回答

0

它反正不是“好办法”,但至少它在实际项目

严格“分行每个任务”的政策,您可以使用情况“不稳定干线”的游戏工作:

  • 中继线有只有合并集合来自任务分支(作者必须将完成的自己的分支合并到主干中,必须在每次合并后执行集成测试,修复应用的分支并重新合并执行如果需要
  • 对于干净,可读的干线历史,无论反向合并都必须添加到干线中(当集成测试失败时,修复之前),“Ready4Staging”可以作为额外的特殊URL,必须是唯一权威来源用于合并到分段分支