你能否建议一个完整的网络发布工具,除了MS Web Deploy?

时间:2016-06-09 14:58:35

标签: sql asp.net publishing

我需要一个可以执行这些操作的网络发布工具。

  1. 将网络代码发布到目的地
  2. Sql Schema和数据比较和保存表格列表进行比较。
  3. 使用新代码重新启动服务
  4. 感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我们当前的部署过程包含三件事

  1. 源代码管理(在我们的案例中为Visual Studio Online)
  2. 用于构建.NET Web应用程序的
  3. TeamCity
  4. Octopus Deploy,用于从TeamCity部署构建的软件包
  5. 这个过程非常简单,大部分工作都是自动化的。

    将代码签入主分支后,TeamCity将检测更改并开始构建过程,其中包括以下步骤:

    1. 恢复NPM包
    2. 运行gulp脚本来编译SASS文件并缩小和捆绑JavaScript
    3. 在发布配置中使用MSBuild构建Web应用程序
    4. 在Octopus Deploy中创建一个版本
    5. 这也是在开发人员没有任何工作的情况下完成的。

      我们的大多数网络应用程序在Octopus Deploy中的设置方式如下:

      1. 检索从TeamCity构建的包(以nuget包的形式)
      2. 在此过程中部署执行任何Web.config转换的Web应用程序。
      3. 使用Topshelf部署任何Windows服务,该服务还执行所需的App.config转换
      4. 创建发布时,Octopus Deploy会自动将其部署到我们的内部开发服务器,因此再次开始测试新代码无需任何工作。一旦每个人都满意,我们再按一个按钮,它就会部署到我们所有的生产服务器上。

        Octopus Deploy也具备部署数据库架构更改等功能,这已在article中介绍,我们采用了更改脚本驱动方法。