似乎有太多不同的方法来自动化构建/部署,以至于很难解析人们在网络教程中支持的所有不同场景.所以我想把这个问题呈现给堆积如山的人群…使用以下配置设置自动构建和部署系统的最佳方式是什么:

  • Visual Studio 2008
  • Web应用程序项目
  • CruiseControl.NET

我try 的第一件事是让CCnet自动压缩输出并将其复制到服务器,但这需要在目的地手动解压.但是,如果我们try 单独复制所有文件,如果是大型应用程序(构建服务器位于我们办公室的数据中心之外……),则可能需要很长时间.我知道).

还有一个特别有趣的问题是,我们将如何支持多个环境,比如开发、质量保证、用户体验测试,当然还有产品开发.

MSDeploy看起来真的很有趣,但除非我错误地解释了文献,否则在从构建服务器的输出进行部署的场景中,它没有帮助.如果有什么不同的话,它似乎对跨构建场部署一个构建很有用...但即使是从一个环境部署到另一个环境,也必须手动更改配置设置和web服务URL等.

推荐答案

我最近花了几天时间在我的公司自动化部署.

我们使用CruiseControl、NAnt和MSBuild的组合来生成应用程序的发布版本.然后,一个单独的脚本使用MSDeploy和XCopy来备份实时站点,并将新文件传输到服务器上.

我们的解决方案在对此问题Automate Deployment for Web Applications?的回答中作了简要说明

Asp.net相关问答推荐

设置主键时KeyAttribute属性不起作用

如何从 Azure 上托管的应用服务获取登录用户名?

如何在 ASP.Net Core 中验证上传的文件

在 aspx 页面中使用 if else 和 eval

使用会话变量有多安全 - asp.net / c#

无法访问,内部,资源文件?

为什么默认情况下不允许 GET 请求返回 JSON?

控制器 SessionStateBehavior 是只读的,我可以更新会话变量

如何更改 .ASPX 自动格式化设置 (Visual Studio)

学习什么 - Ruby on Rails 或 ASP .NET MVC...鉴于熟悉 ASP .NET

获取页面上特定类型的所有 Web 控件

等价于 ASP.NET Core 中的 Html.RenderAction

无法序列化会话状态

<%# Eval("State") %> 或 <%# DataBinder.Eval(Container.DataItem, "state")%>

将新行添加到数据表的顶部

什么时候应该使用 Response.Redirect(url, true)?

IIS - 无法通过 ip 地址而不是 localhost 访问页面

如何使用 encodeURIComponent() 解码在 JS 中编码的 HTML?

ASP.NET 按钮重定向到另一个页面

在 ASP.NET 标识中添加角色