2009-07-02 71 views
2

我们正在考虑将另一台服务器添加到开发生命周期中,以便我们可以测试部署。如何测试部署

一些背景资料: 我们构建Web应用程序,使用ASP.NET和SQL Server 2005有4名开发人员在团队和易于释放每2周一次。

这是我们目前部署的方法: 我们开发了一个开发服务器的每个开发案上和完成它被添加到分段服务器,在那里进行测试。当我们到达发布日期时,发行版中的所有情况都会从Staging服务器部署到Live服务器。

但是问题是只有当我们进行完整部署时,我们在发布日期部署到Live时 - 所有部署到分段都是逐案完成的。这意味着我们一直在犯错或跳过实时部署中的步骤(例如在部署期间忘记锁定用户)。我们需要的是一种虚拟运行实时部署的方式。

我们现在考虑的是增加另一个服务器的释放过程,所以......

当前服务器设置:开发服务器 - >临时服务器 - > Live服务器

潜在的服务器组-up:开发服务器 - >临时服务器 - >测试版服务器(是正确的名字吗?) - > Live服务器

这样,我们可以练习测试版服务器和DRA每个全面部署为现场部署提供一系列步骤 - 希望我们的实时部署更顺畅。我们还计划让客户访问Beta服务器来测试自己的事情。

请让我知道您的想法。您是否这样做,还是有另一种方式在发布日期之前测试我们的部署?

回答

3

您正处在正确的轨道上。

下面是我们的工作方式 - 其他人可能会以不同的方式做事(但他们也可以回答您的问题,您可以自行决定)。

1)代码是在开发 - 这是不受控制的区域。

2)所有数据库更改都是脚本化的,所有.NET代码都内置于MSI中。我们将这些部署到测试中。他们也被存放在一个特别的地方,他们不能与之混淆。如果有任何问题,测试会找到它们,我们将调整脚本/创建新的MSI的修复程序。

3)一旦测试完成,“预生产”环境就会从现场刷新。它会看起来像一个相同的生活副本。最终版本进入“前期制作”。部署应该是可行的,但这是确保它的确切机会。如果没有,部署会被调整,并且“预生产”环境将从现场刷新回来,所以我们知道我们正在对一个完全副本进行测试(没有针对您已经搞乱的那个测试它)与!)

4)如果发布工作(你通常会执行一些测试来检查所有的组件),它已准备好在现场运行。

它可以帮助您将数据库脚本重新运行。在再次执行之前检查更改是否已经存在,以防脚本因任何原因运行多次。例如,如果您将配置值添加到表中,请检查以确保您尚未完成配置,否则可以多次添加配置值并填充数据。