使用SVN的网站开发模型

时间:2013-07-26 09:40:47

标签: web-services svn version-control

我正在为我公司的Intranet网站工作,目前我正在使用SVN作为版本控制,主要使用'trunk'进行所有开发。 大的新功能在分支机构中开发,并在以后合并到主干。

然而,最近我们决定首先在指定的测试服务器上进行所有和任何更改,给每个人一周的时间来测试/验证这些更改,然后在没有发现异议/错误的情况下在生产服务器上提供它们

暂时离开分支机构和开发模型,这给了我3个不同的'环境',它们必须共存:

  • 开发
  • 测试
  • 生产

问题在于我在trunk中持续开发,当一个块完成时,我想在测试服务器上激活它,然后在经过一周的验证后,我想在生产时激活它。 / p>

这是我想出的想法,但我想得到一些关于这是否是正确的方法的反馈。

我们的想法是继续在主干中进行“常规”开发,并使用功能分支进行大的更改,然后将其合并到主干中,此处不做任何更改。 然后我会制作2个主干副本,一个到branches/test,一个到branches/production。然后,每当我对行李箱做出某些贡献时,我都可以首先进行测试,然后再进行生产。 这允许我将一些更改合并到生产中,同时保留其他可能尚未通过测试的批准。

这是一个很好的前进方向吗? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

这就是我们设置的方式: 我们在后备箱上发展。 我们的开发工作在我们当地的笔记本电脑上,当它运作良好时,我们会办理登机手续。 然后我们在trunk上部署到Development Server,并在那里进行一些测试。

我们也在主干上部署到测试服务器,但只有在我们看到它在Dev服务器上工作之后才会部署,而不是如果Test中的代码已被批准用于prod。

所以Dev是最近签入的,而Test通常也是最近的,但有时候它是旧版本。这两个都在Trunk上。

当Test中的代码被批准用于Prod时,我们将创建一个标记,然后将标记部署到复制的应用程序,确保源代码符合我们的预期,然后将该标记创建的应用程序部署到Prod。

如果测试中最终通过QA的代码不是主干中的最新代码,我们只需从修订号中创建标签。

我们不经常使用分支机构,因为我们希望一次部署所有内容。但有时我们已经使用分支机构来实现主要功能 - 并且有一些工具可以在它准备就绪时进行集成。