我的团队在使用SVN部署到我们的QA环境进行测试并保持DEV流清洁时遇到问题,因此我们可以在QA进行的同时继续开发。
我希望有一些方法可以解决我们尚未遇到的问题。
详细信息:我们在SVN中有一个DEV分支,在UI开发人员中有一个代码库,在服务器开发人员中有另一个代码库。
部署时,.EXE和.SWF文件被检入服务器端文件夹,服务器开发人员推送到TRUNK。从那里构建WAR文件。
问题在于,随着QA的发展,服务器开发人员继续研究未来的功能和错误,需要推送到QA环境,以便针对UI测试他们的代码。
我们没有专门的DEV环境;我们知道这是问题的一个重要部分。
问题是;我们是否需要在SVN中使用另一个分支以及QA?那么,每次我们推进QA时,我们都会将代码放入QA分支中?
通过这种方式,我们保持环境卫生,我们可以随时建立QA SVN分支机构。
我认为,与大多数团队不同,我们在推动质量保证时不会停止发展。我们继续前进并解决QA在找到错误时发现的错误。每当我们感觉到它时,我们基本上推动PROD。这就是我们需要卫生环境的原因。
很抱歉这篇文章很长,但我们在这里有点讨厌。
答案 0 :(得分:5)
我不认为这个问题与颠覆有很大关系。听起来您已经发现了问题 - 您正在使用单一环境进行DEV测试和QA测试。这两个函数应该有两个环境。
就您的分支策略而言,我建议您遵循branch-per-release工作流程,每次您想要发布QA版本,然后再发布PROD时,从主干中剪切新版本分支。您不应该将代码从主干推送到静态QA或PROD分支 - 每次要发布时都应该删除 new 分支。
最后,我建议您将二进制/可部署管理与源管理分开。不要在代码旁边的svn中保留最新的.exe文件的副本。如果你想在svn中保留构建工件,我建议你设置你的连续构建过程来将工件发布到一个单独的svn存储库(这个过程也可以将它们发布到一个简单的文件共享,这可能更容易使用)。您希望避免需要任何手动过程来使您的二进制文件“保持最新”。