有关如何自动部署ASP.NET解决方案的建议?

时间:2014-01-15 16:04:17

标签: .net deployment tfs automation

我们目前的部署步骤可简要描述如下:

  1. 在VS2012中加载项目,并将模式从Debug更改为Release
  2. 右键单击Web应用程序项目,然后选择“发布”
  3. 选择“文件系统”发布方法并创建目标位置
  4. 将文件发布到指定的文件位置
  5. 压缩所有已发布的文件,并通过FTP客户端将包发送到远程服务器,例如: Filezilla
  6. RDC服务器并手动解压缩包
  7. 将App_offline.htm添加到目标Web应用程序的根文件夹
  8. 仅将选定的文件夹/文件(不是全部)从解压缩包复制到 目标Web应用程序目录(首先备份目标文件)
  9. 从根文件夹中删除了app_offline.htm
  10. 在IIS中重新启动/刷新网站
  11. 手动对接这样的痛苦。这就是我的团队要求我坚持使用LOL的部署过程。我永远不会手动完成它。必须有一个更好的方法。

    到目前为止,我已经设置了TeamCity来自动化构建。因此,只要开发人员在TFS中检入其代码,就会自动触发构建,并向团队发送有关构建状态的通知电子邮件。

    但是自动部署仍然悬而未决。那么关于如何自动化这个过程并让生活更轻松的任何建议/想法?什么是部署ASP.net Web应用程序的正确方法?

2 个答案:

答案 0 :(得分:2)

在谈论自动化ASP.NET部署过程时,需要考虑多种途径。

首先,正如有人在您的问题的评论中建议的那样,您可以使用Team Foundation Server来构建项目并进行部署。

其次,有很多工具可以做到这一点。以下是我们团队目前正在考虑的一对夫妇:

当然,还有很多其他人。

但是,如果你不想投入任何资金(虽然开发时间也可以是金钱),你可以编写一套脚本(Python很擅长)使用一些控制台命令和副本来构建你的项目文件到您的服务器。

当然,最后一个是丑陋解决方案,但是可行,并且在某些情况下可能有用(例如:长期学校项目)。

编辑:我看到你对自动化过程所需的步骤有一个清晰的图像,所以如果时间允许的话,你可能真的有机会实现自己。

针对不同步骤的一些指示:

此外,请注意,在讨论自动化时,有太多可实现的水平,它几乎看起来像是模拟量级。

希望这会有所帮助。欢呼声。

答案 1 :(得分:1)

以下是使用Beanstalk部署ASP.Net应用程序的指南,您可能会发现它很有用:

http://guides.beanstalkapp.com/deployments/deploy-dotnet.html