如何自动化Web应用程序构建过程,其中包括以下步骤:
我应该编写任何脚本/程序,使用Visual Studio还是其他任何程序?
答案 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部署网站
只需向部署计划添加操作,然后单击“创建构建”或“提升构建”,它就会执行此操作。
除了应用程序
之外,还将一些文件复制到服务器
如果该过程是可重复的,您可以轻松地执行此操作,如果需要,可以使用提醒您执行此操作的手动操作。
可能会执行一些初始化操作
对我来说,这听起来像是一个“变更控制”,当你发布时,这是一次性的改变。我们也支持这些,但遗憾的是不支持免费版本。