What is a good deployment tool for websites on Windows?我正在寻找可以将文件从开发机复制(最好仅更改为文件)到暂存机,最后复制到一组生产机的东西。 "如果..."模式和"回滚"上次部署的功能一样会很好。数据库迁移不是必需的功能。 更新:免费/低成本的工具会很棒,但成本并不是唯一的问题。一个实际上可以管理从一个环境到下一个环境(dev-> staging-> production而不是从开发机器到每个环境的部署)的工具也将是理想的。 另一个重要的优点是只能复制更改的文件-我们的某些旧站点包含数百个.asp文件。 在某些情况下,我使用了名为SyncBack的免费软件(在此处下载)。 它提供复杂的,多步骤的文件同步(文件系统或FTP等,压缩等)。该程序具有一个不错的图形用户界面。您可以定义配置文件并将它们组合/执行。 您可以在文件类型,名称等上设置过滤器,并在作业执行后执行命令/程序。还有一个以html报告形式提供的作业日志,如果您计划该作业,可以通过电子邮件发送给您。 也有该软件的专业版本,但是对于常见任务,免费软件应该可以正常工作。 @Sean Carpenter您能告诉我们更多有关您的环境的信息吗?解决方案应该免费吗?简单吗? 我发现robocopy在这种情况下非常漂亮。打包成一个批处理文件,一切就好了。这是荣耀的xcopy,但部署我的网站并不难。只需复制文件。 至于回滚...您正在使用源代码控制吗?只需将旧资源移出那里即可。或者,在批处理文件中,也将部署复制到另一个名为网站yyyy.mm.dd的文件夹中,这样您就可以在紧急情况下准备好一个可爱的文件夹。 查看for命令以获取有关如何获取日期部分的详细信息。
是的,这是一个完全的" hack ",但是它很好地移动了文件。 您没有指定是否使用Visual Studio .NET,但是Visual Studio 2005和2008中有一些内置工具: "复制网站"工具-基本上是一种视觉同步工具,它突出显示文件并允许您从一个复制到另一个。手册,内置在Visual Studio中。 aspnet_compiler.exe-使您可以预编译网站。 当然,您可以创建一个Web部署程序包,也可以将其部署为MSI。 我使用了Cruise Control.NET,nant和MSBuild的组合来编译和交换特定环境的配置文件,并将这些文件复制到构建输出目录。然后,我们还有另一个nant脚本来进行文件复制(并在必要时运行数据库脚本)。 为进行回滚,我们将保存所有先前的部署,因此从理论上讲,回滚仅涉及重新部署最后一个有效的构建(并还原数据库)。 尝试复制。它可以处理全部回滚到以前版本的文件。在为需要使用它的客户工作时,我一直在使用它;我已经成为它的忠实拥护者:
也许rsync和一些自定义脚本可以解决问题。 我已经放弃尝试寻找一款行之有效的免费产品。 但是我需要部署到远程服务器。 由于我连接了终端服务,所以我意识到我可以在连接时选择本地硬盘,然后在远程服务器上的资源管理器中打开远程服务器上的 然后我将synctoy与该路径一起使用,并将其与我的服务器同步。到目前为止似乎工作得很好并且很快... 我们使用了可自定义的UnleashIt(我知道这是一个不幸的名字),它允许您保存配置文件以部署到不同的服务器。它还具有"备份"功能,该功能将在部署之前备份您的生产文件,因此回滚应该非常容易。 |