如何自动化构建过程?

时间:2011-08-01 12:31:35

标签: asp.net deployment configuration automation

如何自动化Web应用程序构建过程,其中包括以下步骤:

  • 更改连接字符串。
  • 按脚本重新创建数据库。
  • 通过ftp。
  • 部署网站
  • 除应用程序外,还将一些文件复制到服务器。
  • 可能会执行一些初始化操作。

我应该编写任何脚本/程序,使用Visual Studio还是其他任何程序?

4 个答案:

答案 0 :(得分:1)

你要开始学习MSBuild。它非常简单明了,所以刚开始,你会看到;)

除内置功能外,它还有Community Pack许多美味的东西,所以你可以:

  • 使用正则表达式替换配置文件中的连接字符串或用预定义的连接字符串替换整个配置(FileUpdate或复制任务)
  • 执行数据库脚本(MSBuild.Community.任务.SqlServer.ExecuteDDL
  • 使用Copy任务
  • 部署网站

还有很多其他......

答案 1 :(得分:1)

我个人使用持续集成工具来完成这类工作。

我主要使用的是Team City by JetBrains

此类软件可以查看您的源代码管理仓库以进行新检查,执行构建,将构建发布到服务器以及运行前/后构建事件。

答案 2 :(得分:1)

您可以在Visual Studio中运行事件前和事件。要执行此操作,只需右键单击项目,然后在项目属性中导航到“构建事件”选项。在这里,您可以指定构建前和构建后事件(您还可以指定事件运行的时间 - 成功构建或其他方式)。

成功构建项目后,可以设置post build事件以执行指定的任务。您可以在单独的文件中或在Visual Studio项目的构建事件本身中详细说明这些步骤。

更多信息

答案 3 :(得分:1)

在Jamie提到的持续集成概念的大部分内容中,我们在内部使用BuildMaster来开发所有应用程序:)

既然我们有免费提供的版本,我会在每个要点上分享一些想法:

  

更改连接字符串

这是由工具唯一处理的东西。每个环境都将获得自己的配置文件“实例”,在部署计划中,您可以使用“部署配置文件”操作将它们放在任何环境中。这意味着没有变换需要担心,因为配置文件在工具中存储和版本化。

  

按脚本重新创建数据库

这是我们的另一个主要特色。每次使用DROP / CREATE组合都可以运行目标代码(存储过程,视图等),但添加索引,删除列只能执行一次(如果没有还原,则无法返回列的数据!)

BuildMaster以不同方式处理这些类型的更改脚本 - 它们最多只能针对环境的数据库实例运行一次。这使得任何新的或现有的初始化数据库模式都变得非常容易。

  

通过FTP部署网站

只需向部署计划添加操作,然后单击“创建构建”或“提升构建”,它就会执行此操作。

  

除了应用程序

之外,还将一些文件复制到服务器

如果该过程是可重复的,您可以轻松地执行此操作,如果需要,可以使用提醒您执行此操作的手动操作。

  

可能会执行一些初始化操作

对我来说,这听起来像是一个“变更控制”,当你发布时,这是一次性的改变。我们也支持这些,但遗憾的是不支持免费版本。