asp.net - 帮助我制定部署策略

标签 asp.net asp.net-mvc deployment

所以我正在开发一个 ASP.NET MVC 网站,但从来没有一个像样的部署策略,因此进行更改,特别是数据库方案可能需要大量步骤和时间。

以下是我正在寻找待办事项的步骤,并希望获得有关如何执行此操作或工具的建议(最好是免费的)。请随意指出任何遗漏的步骤或我做错的事情。

编辑:我将列出我用来解决每个阶段的工具

  1. 从源代码管理中检查所有代码 (perforce)
  2. 构建调试和发布版本。发布版本需要 web.config 中不同的连接字符串。 (MSBUILD)
  3. 运行所有单元测试
  4. 对于每一页 (aspx),将所有引用的 JS 文件和内联代码合并到一个文件中。与CSS相同
  5. Minify表示JS和CSS文件。
  6. 备份实时数据库架构和数据
  7. 将数据库架构更改部署到实时服务器
  8. 将所有新文件或已更改的文件上传到服务器。
  9. 将所有代码和我的源代码控制存储库备份到外部驱动器,并且可能在线备份。

我很幸运,我的网站在凌晨 1 点到下午 4 点之间不会有任何访问者,因此这一切都可以在不需要临时服务器等的情况下完成?

我知道我的问题很长,但这可能会对很多人有帮助。

最佳答案

MSBuild(或可能的任何其他构建技术)可能是自动完成所有这些任务的最佳选择。

您可以使用 MSBuild 毫无问题地执行 1 到 4 步。我们update our web configs with MSBuild using an XMLUpdate task ,我们还运行一些 awk 脚本来使用 Exec task 来增强我们生成的一些代码。 .

对于 #5 和 #6,您可能再次想要使用 Exec 执行一些脚本来获取备份文件并针对生产实例运行它们,但是我不是 SQL 管理员,所以我不知道是否这是最好的方法,或者是否已经有 MSBuild 任务。

对于实际的文件复制,有 Copy任务,以及可能的其他任务,但您可能需要求助于 xcopy 或自定义脚本。

管理产品的构建是一项艰巨的工作,但这正是创建 MSBuild 和 Ant 等技术的确切原因。

关于asp.net - 帮助我制定部署策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359666/

相关文章:

asp.net - GetCountries 从 .NET 不提供所有国家?

asp.net-mvc - 如何在asp.net MVC中将日期时间从 View 传递到 Controller

asp.net-mvc - 使用Html.RouteLink添加CSS类

java - 在 jBoss AS 中创建模块

c# - 在 asp.net 中为 excel 表提供背景颜色

jQuery AJAX - Controller 上的数据参数为空

asp.net - 如何强制更新自定义用户声明?

c# - 在 .NET 中构建业务应用程序的最佳方式

JavaFX 不适用于 Heroku (NoClassDefFoundError)

.net - ClickOnce 部署未按预期安装