代码之家  ›  专栏  ›  技术社区  ›  willem

在自动部署到我们的QA环境期间,如何远程解压?

  •  1
  • willem  · 技术社区  · 14 年前

    我正试图找到一种方法来自动部署到我们的QA环境中。问题是我们的发行版相当大,所以需要在QA服务器上进行压缩、ftp'd和unzipped。我不知道如何远程解压。

    我可以考虑一些选择,但没有一个是正确的:

    • 使用psexec在qa服务器上执行远程命令行调用以解压版本。
    • 在qa服务器上宿主一个Web服务,该服务将版本解压缩并复制到正确的位置。当上传完文件后,我们的版本可以调用这个服务。
    • 在qa服务器上托管一个Windows服务,它监视文件位置并执行解压。

    但这些都不漂亮。我想知道其他人是如何解决这个问题的?

    PS: 我们使用CruiseControl.net执行一个NANT脚本,该脚本执行构建、压缩和FTP。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Dawie Strauss    14 年前

    您可以使用类似于 rsync ;可以在文件传输过程中透明地压缩数据。-z选项告诉rsync使用压缩。

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

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

    • 在远程计算机上安装cwrsync服务器,然后
    • 允许流量通过任何防火墙。
        2
  •  2
  •   Robert Hui    14 年前

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

    更新:我们希望在这个过程中改进的一点是,为了清除目的,对超过x个月的zip文件和未压缩文件选中“CI”框上的服务。我们经常会耗尽磁盘空间(这是一个我们很少看到的虚拟机),并且在发生时必须手动清除旧的构建。