9

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

“假设”模式与“回滚”上次部署的能力一样好。数据库迁移不是必需的功能。

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

另一个重要的优点是只复制更改的文件的能力——我们的一些旧站点包含数百个 .asp 文件。

4

7 回答 7

2

在某些情况下,我使用了一个名为SyncBack的免费软件产品(在此处下载)。

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

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

该软件还有专业版,但对于常见任务,免费软件应该可以正常工作。

替代文字

于 2008-09-20T10:24:40.523 回答
2

@Sean Carpenter can you tell us a little more about your environment? Should the solution be free? simple?

I find robocopy to be pretty slick for this sort of thing. Wrap in up in a batch file and you are good to go. It's a glorified xcopy, but deploying my website isn't really hard. Just copy out the files.

As far as rollbacks... You are using source control right? Just pull the old source out of there. Or, in your batch file, ALSO copy the deployment to another folder called website yyyy.mm.dd so you have a lovely folder ready to go in an emergency.

look at the for command for details on how to get the parts of the date.

robocopy.exe
for /?

Yeah, it's a total "hack" but it moves the files nicely.

于 2008-09-04T04:31:51.327 回答
1

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

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

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

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

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

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

于 2008-09-03T23:33:34.680 回答
0

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

于 2008-09-03T23:19:50.593 回答
0

Maybe rsync plus some custom scripts will do the trick.

于 2009-12-23T05:28:28.160 回答
0

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

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

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

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

于 2008-12-19T06:12:57.687 回答
0

试试复制网。它处理完全回滚到以前版本的文件。我在为一个要求使用它的客户工作时使用它,我已经成为它的忠实粉丝,部分原因是:

  • 回滚到以前版本的代码
  • 不同用户角色的身份验证和规则
  • 部署到多个环境
  • 通过电子邮件/日志向用户完整报告,说明发生了什么变化、当前版本是什么等。
于 2010-01-06T17:03:09.203 回答