Ftp 在自动部署到QA环境的过程中,如何远程解压缩?

Ftp 在自动部署到QA环境的过程中,如何远程解压缩?,ftp,continuous-integration,zip,nant,Ftp,Continuous Integration,Zip,Nant,我正试图找出一种方法来自动部署到我们的QA环境中。问题是我们的版本相当大,所以需要压缩,FTP,然后在QA服务器上解压。我不确定远程解压的最佳方式 我可以想出几个选择,但没有一个听起来是正确的: 使用PsExec在QA服务器上执行远程命令行调用,以解压缩版本 在QA服务器上托管一个web服务,该服务解压发布并将其复制到正确的位置。上传完文件后,我们的发行版可以调用此服务 在QA服务器上托管一个windows服务,该服务监视文件位置并执行解压缩 但这些都不漂亮。我想知道其他人是如何解决这个问题

我正试图找出一种方法来自动部署到我们的QA环境中。问题是我们的版本相当大,所以需要压缩,FTP,然后在QA服务器上解压。我不确定远程解压的最佳方式

我可以想出几个选择,但没有一个听起来是正确的:

  • 使用PsExec在QA服务器上执行远程命令行调用,以解压缩版本
  • 在QA服务器上托管一个web服务,该服务解压发布并将其复制到正确的位置。上传完文件后,我们的发行版可以调用此服务
  • 在QA服务器上托管一个windows服务,该服务监视文件位置并执行解压缩
但这些都不漂亮。我想知道其他人是如何解决这个问题的


PS:我们使用CruiseControl.NET来执行NAnt脚本,该脚本执行构建、压缩和FTP操作。

您可以使用以下工具代替压缩和取消压缩:;它可以在文件传输期间透明地压缩数据。z选项告诉rsync使用压缩

但我假设您在Windows环境中,在这种情况下,您可以使用(即“rsync for Windows”)

这可能不是一个可行的解决方案,这取决于您对QA箱的访问。您需要:

  • 在远程计算机上安装cwRsync服务器,然后
  • 允许流量通过任何防火墙

    • 您可以使用以下工具代替压缩和取消压缩:;它可以在文件传输期间透明地压缩数据。z选项告诉rsync使用压缩

      但我假设您在Windows环境中,在这种情况下,您可以使用(即“rsync for Windows”)

      这可能不是一个可行的解决方案,这取决于您对QA箱的访问。您需要:

      • 在远程计算机上安装cwRsync服务器,然后
      • 允许流量通过任何防火墙

      在我上次工作的地方,我们让一个人在CI框上编写Windows服务来进行解压缩。TFS Team Server完成了生成,并通知服务压缩完成的生成并将其复制到CI框中。CI框拾取新文件并将其解压缩。这可能有点沉重,但它工作得很好——他知道将所有操作记录到事件日志中,因此很容易诊断服务器是否已重置,服务是否尚未启动


      更新:我们希望在该过程中改进的一件事是让服务在CI框中检查zip文件和超过x个月的未压缩文件,以便进行清除。我们通常会耗尽磁盘空间(这是一个我们很少看到的虚拟机),并且在发生时必须手动清除旧版本。

      在我最后一次工作的地方,我们让一个人在CI框上编写Windows服务来进行解压缩。TFS Team Server完成了生成,并通知服务压缩完成的生成并将其复制到CI框中。CI框拾取新文件并将其解压缩。这可能有点沉重,但它工作得很好——他知道将所有操作记录到事件日志中,因此很容易诊断服务器是否已重置,服务是否尚未启动


      更新:我们希望在该过程中改进的一件事是让服务在CI框中检查zip文件和超过x个月的未压缩文件,以便进行清除。我们通常会耗尽磁盘空间(这是一个我们很少看到的虚拟机),并且在发生时必须手动清除旧版本。

      远程是unix/linux服务器吗?你能用ssh连接到那个服务器吗?为什么不使用rsync?远程服务器是unix/linux服务器吗?你能用ssh连接到那个服务器吗?为什么不使用rsync呢?