帮我提出一个部署策略

ddd*_*ddd 9 asp.net deployment asp.net-mvc

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

以下是我正在寻找的步骤,并希望了解如何操作或工具(最好免费).随意指出任何遗漏的步骤或我做错的事情.

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

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

我很幸运,我的网站在凌晨1点到4点之间没有任何访问者所以这一切都可以在不需要登台服务器等的情况下完成吗?

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

wom*_*omp 2

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

您可以使用 MSBuild 毫无问题地执行 1 到 4 步。我们使用 XMLUpdate 任务通过 MSBuild 更新 Web 配置,并且还运行一些 awk 脚本来使用Exec 任务来增强一些生成的代码。

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

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

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