我正在寻找一些关于什么是最佳实践构建系统的指南,以允许从颠覆代码自动部署到远程网站。
目前,我为 3 个应用程序的每个环境运行一个测试和生产分支:
- PHP 应用程序
- ASP.NET MVC 应用程序
- ASP.NET 网络服务
我通过 Visual Studio 中的 Web Deploy 和 WebMatrix 中的 PHP 应用程序部署 ASP.NET 应用程序。总比没有好,但仍然需要我加载 Visual Studio 或 WebMatrix 和应用程序进行部署,我发现从 WebMatrix 部署有点不可靠,部署后缺少一些文件。
理想情况下,我想要这样的东西:
- 将从 Subversion 签出相应的分支
- 如有必要,运行构建
- 部署到远程 IIS 服务器
- 允许回滚到以前的代码副本
- 具有 Web 界面或可以使用单个 CLI 命令运行(即一键部署)
- 具有一些文件管理功能,可以移动文件、创建快捷方式、写入文件等(远程)
- 必要时可以运行 SQL 脚本
- 是开源的或免费使用的
我不确定我是否应该使用 TeamCity(专业版)、编写 MSBuild 脚本、编写 WebDeploy 脚本或什么。我可能会在构建服务器上运行它。