2013-07-26 38 views
2

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

但是最近我们决定首先在指定的测试服务器上进行所有可用的更改,给每个人一周时间来测试/验证这些更改,然后在生产服务器上提供它们(如果没有异议/错误找到。

离开树枝和发展模式超出范围就目前来看,这给了我3个不同的 '环境' 有共存:

  • 发展
  • 测试
  • 生产

问题在于我在trunk中不断地开发,当一个块完成时,我想在测试服务器上激活它,然后在验证一周后,我想在专业版上激活它也是。

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

这个想法是继续在主干中进行“常规”开发,并使用功能分支进行大的更改,然后再将这些更改合并到主干中,这里没有任何更改。 然后我会制作2个副本,一个到branches/test,另一个到branches/production。然后,每次我为主干提交一些东西时,我都可以先挑选它来测试,然后再进行生产。 这允许我合并一些更改到生产,同时保留其他可能尚未通过测试的批准。

这是一个很好的前进方向吗? 在此先感谢!

回答

0

这就是我们如何设置: 我们在树干上开发。 我们的开发工作在我们当地的笔记本电脑上,当它运行良好时,我们登记。 然后,我们将部署到发展服务器的主干上,并在那里进行一些测试。

我们也在中继上部署到测试服务器,但只有在我们看到它在Dev服务器上工作后,才能部署到测试服务器,而且如果Test中的代码已被批准用于产品,则不会。

所以开发者是最近一次签入,而且测试通常也是最近的一次,但有时它是一个较旧的版本。这两个都在Trunk上。

当Test中的代码被批准为Prod时,我们将创建一个标签,然后将该标签部署到复制的应用程序,确保源代码与我们期望的匹配,然后将该标签创建的应用程序部署到Prod 。

如果最终通过QA的Test中的代码不是最新的trunk,我们只是将该标签从修订版编号中删除。

我们不经常使用分支,因为我们喜欢一次部署所有内容。但是我们曾经有过使用分支机构进行主要功能的工作,并且有一些工具可以在整合完成后进行整合。