Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment 是否有支持部署回滚的部署工具(或一组工具)?_Deployment_Build_Nant_Msbuildcommunitytasks_Nantcontrib - Fatal编程技术网

Deployment 是否有支持部署回滚的部署工具(或一组工具)?

Deployment 是否有支持部署回滚的部署工具(或一组工具)?,deployment,build,nant,msbuildcommunitytasks,nantcontrib,Deployment,Build,Nant,Msbuildcommunitytasks,Nantcontrib,我正在学习FluentMigrator。我喜欢FM的一点是它支持向前和向后迁移的思想(也称为向上/向下)。我发现这并不理想;有一些洞。尽管如此,还是很好 这让我想知道是否有任何部署工具(nant、msbuild或其他)支持这种前后滚动的思想。我使用它的场景是部署一个带有相关数据库的web应用程序 理想情况下,我希望设置我的部署,以便在任何部分出现故障时,它将恢复到以前已知的工作配置。使用FM,这是非常容易做到的(但也有一些粗糙点),因此它涵盖了db。组成web应用程序的文件如何?是否有任何部署工

我正在学习FluentMigrator。我喜欢FM的一点是它支持向前和向后迁移的思想(也称为向上/向下)。我发现这并不理想;有一些洞。尽管如此,还是很好

这让我想知道是否有任何部署工具(nant、msbuild或其他)支持这种前后滚动的思想。我使用它的场景是部署一个带有相关数据库的web应用程序

理想情况下,我希望设置我的部署,以便在任何部分出现故障时,它将恢复到以前已知的工作配置。使用FM,这是非常容易做到的(但也有一些粗糙点),因此它涵盖了db。组成web应用程序的文件如何?是否有任何部署工具支持此功能


部署到Windows服务器。假设我无法对服务器进行任何更改

当然!我最喜欢的是卡皮斯特拉诺。它最初是为Ruby构建的,但我发现它对其他语言也同样适用


我不知道有任何以Microsoft为中心的自动化资源调配/部署工具,如Capistrano。以下是一些我听说过但从未使用过的工具:

  • ,用于部署web应用程序
  • ,用于管理操作系统配置
  • 微软的
  • 惠普的
直到大约三个月前,我们使用自定义MSBuild脚本进行部署/资源调配。设置服务器后,会自动使用将文件复制到应用程序服务器上的共享,更新更改的应用程序二进制文件和标记文件。我们从未需要回滚任何部署,但由于脚本是自定义的,因此如果需要,我们可以编写逻辑


MSBuild是一种糟糕的部署/设置语言。在过去的三个月里,我们一直在PowerShell中编写所有新脚本,并将现有脚本移植到PowerShell。太棒了。对于版本2,支持在远程服务器上运行命令,如SSH。我们还没有使用该功能,但我期待着将安装脚本推送到远程服务器,以便同时调配和部署

在过去6个月里,我们一直在使用Git进行部署

以下是整个过程:

  • CI服务器生成项目
  • CI服务器将其签入本地git存储库
  • CI服务器将更改推送到集中的git存储库
  • 用户在实时服务器上创建一个空存储库
  • 用户将中央git存储库添加到远程服务器
  • 用户通过https获取最新版本(无需打开任何端口)
  • 这是一个很大的设置在开始,但一旦设置它的作品伟大。由于只复制更改的文件,因此部署需要几秒钟。 这种方法的另一个优点是git保存了更改的历史记录,所以回滚非常简单。您还可以回滚一些修订,这些修订直接在live server上完成。如果出现问题,恢复速度会非常快

    如果您将托管git服务(github)用于中央存储库,也可以节省一些时间


    这是一个非常简短的描述,但如果您需要,我可以给您提供更多信息。

    Hmm。更新了问题。capistrano不需要我打开Windows服务器到SSH吗?我对SSH了解不多。是的,但是有什么替代方案,FTP?任何部署框架都需要对服务器进行某种终端访问。然而,从Windows机箱部署Capistrano可能意味着安装Cygwin和PuTTY。我会首先寻找纯Windows的替代品。酷。我的答案仍然是,你是如何处理数据库的更改的?你是否有一个数据库或支持商店绑定到你的应用程序?目前我不需要,因为我们的大多数网站都使用第三方cms来处理数据库。