ALM - 应用程序生命周期管理 - 建立和部署的挑战

问题描述 投票:1回答:1

我坚持,我可以使用一些反馈来解决它的最好的方式有问题。

问题围绕着源代码控制 - >自动化生成 - >部署。基本上ALM(应用生命周期管理)。

我们有一个产品 - 一个MS SQL数据库的ASP.NET Web应用程序。该产品是在我们的生产环境在多个虚拟机相关的数据库上数百个网站上运行。目前,Web应用程序和数据库与IIS 7和SQL数据库服务器2008 R2的服务器上运行。产品本身是源团队基础2012控制。

多年来的产品新版本的发布已经一次或每年两次多年。现在我们要专注于释放更频繁,因此我们需要为资产负债管理的产品策略。

现在的部署策略:

在版本之间的发展时期,SQL更新脚本已手动创建 - 数据库做出更改脚本被更新每次。当应用程序可以部署它被编译开发机器上。所使用的所有更改的数据库将被备份到一个.bak文件。 Web应用程序,.bak文件和更新SQL脚本将被打包文件(.zip),并上传到生产环境准备好部署。

更新现有的运行的产品:

  • 复制/粘贴到目标网站的物理文件夹中的Web应用程序。
  • 更新web.config文件 - 的ConnectionString和应用
  • 变量。通过运行SQL Management Studio中更新脚本

上百次 - 这会为每一位客户来完成。

这是一个非常繁琐和容易出错的任务,我不喜欢它!

我想这样做反而是;

  • 源控制数据库作为团队基础数据库项目
  • 自动建立使用Team Foundation 2012生成服务器的Web应用程序。
  • 从部署构建服务器到生产环境中的多个网站的输出与针对SQL Server运行的自动生成SQL更新脚本一起。

我一直在谷歌上搜索我的屁股 - 只找到关于星星点点构建,部署,自动SQL更新脚本等。

我的想法是部分正确的方向是采购控制数据库,并使用TFS构建服务器。我是如何做的部署本身使用从TFS输出服务器构建一个简单的和可控的方式很困惑。

理想的情况是我想给TFS构建服务器与最新版本的Web应用程序,数据库的最新版本,后期部署脚本,包括从以前的版本到当前构建一个自动生成的SQL更新脚本创建一个包。这可以被包含在如一个NuGet包。然后,我会希望能够创建应该管理部署额外的Web应用程序 - 目标,版本,IIS站点时,SQL Server,web.config中的ConnectionStrings等。

有没有人对如何实现这一目标有什么建议?你怎么做到这一点?

asp.net sql deployment tfsbuild tfs2012
1个回答
1
投票

您可以使用版本管理工具,要做到这一点,没有必要创建一个额外的Web应用程序。

一个这样的实例是部署管理器,从红色门。 (免责声明:我在那里工作),它内置的ASP.NET应用程序和SQL Server数据库的部署行动。命令行工具RgPublish.exe可以用来创建一个包的Web应用程序,你从TFS描述构建。同样可以使用sqlCI.exe命令行和相关NANT / MSBuild的脚本数据库来完成。

然后在同一个软件包可以部署到每台服务器。您可以与网站100S虽然碰到可伸缩性问题。

数据库部署的工作原理是自动生成的升级脚本,但你可以改变行为,把升级脚本的包,当包先建。这些被分别称为“动态”和“静态”的升级方法。

© www.soinside.com 2019 - 2024. All rights reserved.