2

我正在为我的公司开发一个 Intranet 网站,目前正在使用 SVN 作为版本控制,主要使用“主干”进行所有开发。大的新功能在分支中开发,稍后合并到主干。

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

暂时不考虑分支和开发模型,这给了我 3 个必须共存的不同“环境”:

  • 发展
  • 测试
  • 生产

问题是我在主干中不断开发,当一个块完成后,我想在测试服务器上激活它,然后在验证一周后,我也想在生产中激活它。

这是我提出的想法,但我想就这是否是正确的方法获得一些反馈。

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

这是前进的好方法吗?提前致谢!

4

1 回答 1

0

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

我们也在主干上部署到测试服务器,但只有在我们看到它在开发服务器上运行之后,而不是在测试中的代码已被批准用于生产时。

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

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

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

我们不经常使用分支,因为我们喜欢一次部署所有内容。但是有时我们会使用分支来实现主要功能 - 当一切准备就绪时,还有用于集成的工具。

于 2013-07-26T09:53:04.913 回答