什么是Windows上的网站的良好部署工具?

时间:2008-09-03 23:09:56

标签: iis deployment

我正在寻找可以将文件从开发机器复制(最好只是更改)到分段机器,最后复制到一组生产机器的东西。

“假设”模式会很好,“回滚”最后一次部署的能力也会很好。数据库迁移不是必需的功能。

更新:免费/低成本的工具会很棒,但成本并不是唯一的问题。实际上可以管理从一个环境到下一个环境的部署(dev-> staging->生产而不是从开发机器到每个环境)的工具也是理想的。

另一个很好的功能是只能复制更改的文件 - 我们的一些旧网站包含数百个.asp文件。

7 个答案:

答案 0 :(得分:2)

@Sean Carpenter 您能告诉我们一些关于您的环境的信息吗?该解决方案应该免费吗?简单?

我觉得robocopy对于这类事情非常光滑。在批处理文件中包装,你很高兴。这是一个美化的xcopy,但部署我的网站并不是很难。只需复制文件即可。

就回滚而言......你正在使用源代码控制吗?把旧的光源拉出来。或者,在批处理文件中,还要将部署复制到另一个名为website yyyy.mm.dd的文件夹中,这样就可以在紧急情况下准备好一个可爱的文件夹。

查看for命令,了解有关如何获取日期部分的详细信息。

robocopy.exe
for /?

是的,这完全是“黑客”,但它可以很好地移动文件。

答案 1 :(得分:2)

在某些情况下,我使用了免费软件产品 SyncBack Download here)。

它提供复杂的多步骤文件同步(文件系统或FTP等,压缩等)。该程序有一个很好的图形用户界面。您可以定义配置文件并将它们组合/执行。

您可以在文件类型,名称等上设置过滤器,并在作业执行后执行命令/程序。还有一个作为html报告提供的作业日志,如果您安排作业,可以通过电子邮件发送给您。

还有一个专业版的软件,但对于常见的任务,免费软件应该可以。

alt text

答案 2 :(得分:1)

您没有指定是否使用Visual Studio .NET,但Visual Studio 2005和2008中有一些内置工具:

复制网站工具 - 基本上是一个可视化同步工具,它突出显示文件并允许您从一个文件复制到另一个文件。手动,内置于Visual Studio中。

aspnet_compiler.exe - 允许您预编译网站。

当然,您也可以创建Web部署包并部署为MSI。

我使用Cruise Control.NET,nant和MSBuild的组合进行编译,并交换特定环境的配置文件,并将文件复制到构建输出目录。然后我们有另一个nant脚本来执行文件复制(并在必要时运行数据库脚本)。

对于回滚,我们会保存所有先前的部署,因此理论上回滚只涉及重新部署最后一个工作版本(并恢复数据库)。

答案 3 :(得分:0)

我们使用UnleashIt(我知道的不幸名称),它可以很好地自定义,并允许您保存配置文件以部署到不同的服务器。它还具有“备份”功能,可在部署之前备份您的生产文件,因此回滚应该非常简单。

答案 4 :(得分:0)

我已经放弃了试图找到一个有效的免费产品。 然后我找到了微软的Sync Toy 2.0,虽然缺少选项但效果很好。

但我需要部署到远程服务器。

由于我连接终端服务,我意识到我可以在连接时选择本地硬盘,然后在远程服务器上的资源管理器中,我可以在远程服务器上打开\\tsclient\S\MyWebsite

然后我使用该路径的synctoy并将其与我的服务器同步。到目前为止似乎工作得很好而且很快......

答案 5 :(得分:0)

也许rsync加上一些自定义脚本可以解决问题。

答案 6 :(得分:0)

尝试repliweb。它处理完全回滚到以前版本的文件。我在为一个要求使用它的客户工作时使用过它而且我已经成为它的忠实粉丝,而且还是:

  • 回滚到以前版本的代码
  • 针对不同用户角色的身份验证和规则
  • 部署到多个环境
  • 通过电子邮件/日志向用户完整报告,了解更改内容,当前版本等等。