2008-09-03 52 views
8

我正在寻找一些可以将文件从开发机器复制(最好只是更改)到分段机器,最后到一组生产机器的东西。什么是Windows上的网站的良好部署工具?

如果能够“回滚”上次部署,“假设”模式将会更好。数据库迁移不是必需的功能。

更新:免费/低成本的工具将是伟大的,但成本不是唯一的关注。实际上可以管理从一个环境到下一个环境(dev-> staging-> production,而不是从开发机器到每个环境)的部署的工具也是理想的。

的另一大可有可无已经是只复制更改文件的能力 - 我们的一些旧网站的容纳数百.asp文件。

回答

0

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

+0

对不起否决COS崩溃我的Windows Server 2008上请加评论如果你遇到其他情况。看起来像一个伟大的小工具,但我刚刚进入下一个选项... – 2008-10-29 05:20:56

1

不指定,如果你正在使用Visual Studio .NET,但也有在Visual Studio 2005和2008年的几个内置的工具:

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

aspnet_compiler.exe - 让你预编译网站。

当然,您也可以创建一个web部署包并作为MSI进行部署。

我用克鲁斯Control.NET,楠和MSBuild的组合来编译,并换出特定的环境配置文件和文件复制到构建输出目录。然后我们有另一个脚本来完成文件复制(如果需要的话可以运行数据库脚本)。

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

2

@Sean Carpenter你能告诉我们更多关于你的环境吗?解决方案应该是免费的吗?简单?

我发现robocopy对于这类事情非常光滑。用批处理文件包起来,你很好。这是一个光荣的xcopy,但部署我的网站并不是很难。只需复制文件。

只要回滚...你正在使用源代码控制权吗?只需将旧源从那里拉出即可。或者,在您的批处理文件中,也可以将部署复制到另一个名为网站yyyy.mm.dd的文件夹,以便在紧急情况下准备好一个可爱的文件夹。

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

robocopy.exe 
for /? 

是的,这是一个总“黑客”,但它很好地移动文件。

2

对于一些场景我用了一个免费产品叫SyncBackDownload here)。

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

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

还有一个专业版本的软件,但对于常见的任务,免费应该做的很好。

alt text

+0

很酷。并在2分钟内运行。只是有点令人困惑的是,对于FTP传输,您必须单击高级,配置设置,然后单击“目标”旁边的目录图标进行连接 – 2008-10-29 05:29:47

0

我已经放弃试图找到一个可行的好免费的产品。 然后,我发现微软的同步玩具2.0,虽然缺乏选择效果很好。

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

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

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

0

也许rsync加上一些自定义脚本可以做到这一点。

+0

不确定在Windows上运行rsync需要什么。 – 2009-12-23 15:57:03

0

尝试repliweb。它处理完整回滚到以前版本的文件。我已经使用了同时为客户谁要求它的用途和我的工作,已经成为它的忠实粉丝,partiularily:

  • 回滚到以前的代码版本
  • 认证和规则不同的用户角色
  • 部署到多个环境
  • 通过电子邮件/日志statiing发生了什么变化,用户完全报告,目前的版本是什么等
相关问题