1

我的团队在使用 SVN 部署到我们的 QA 环境以进行测试和保持 DEV 流清洁时遇到问题,以便我们可以在 QA 进行时继续开发。

我希望有一些方法可以解决我们尚未遇到的问题。

详细信息:我们在 SVN 中有一个 DEV 分支和一个用于 UI 开发人员的代码库和另一个用于服务器开发人员的代码库。

当我们部署时,.EXE 和 .SWF 文件被检入服务器端文件夹,服务器开发人员推送到 TRUNK。WAR 文件是从那里构建的。

问题在于,随着 QA 的进行,服务器开发人员继续致力于未来的功能和错误,并且需要推送到 QA 环境,以便针对 UI 测试他们的代码。

我们没有专门的 DEV 环境;我们知道这是问题的很大一部分。

问题是; 我们是否还需要在 SVN 中使用另一个分支来进行 QA?那么,每次我们推送到 QA 时,我们都会将代码放在 QA 分支中?

通过这种方式,我们可以保持环境卫生,并且可以随时构建 QA SVN 分支。

我认为,与大多数团队不同,我们在推进 QA 时不会停止开发。我们继续前进并解决 QA 发现的错误。基本上,只要我们愿意,我们就会推动 PROD。这就是为什么我们需要一个卫生的环境。

很抱歉这篇文章很长,但我们在这里有点陈词滥调。

4

1 回答 1

5

我认为这个问题与颠覆没有太大关系。听起来您已经发现了问题——您正在使用单一环境进行 DEV 测试和 QA 测试。对于这两个功能,您应该有两个环境。

就您的分支策略而言,我建议您遵循每个发布分支的工作流程,每次您想要发布到 QA,然后再发布到 PROD 时,您都会从主干中剪切一个新的发布分支。您不应该代码从主干推送到静态 QA 或 PROD 分支——您应该在每次发布时剪切一个新分支。

最后,我建议您将二进制/可部署管理与源代码管理分开。不要在代码旁边的 svn 中保留最新的 .exe 文件的副本。如果您想将构建工件保留在 svn 中,我建议设置您的持续构建过程以将工件发布到单独的 svn 存储库(此过程也可以将它们发布到简单的文件共享,这可能更易于使用)。您希望避免需要任何手动过程来使您的二进制文件保持“最新”。

于 2012-11-23T15:01:28.320 回答