Ftp 在自动部署到QA环境的过程中,如何远程解压缩?
我正试图找出一种方法来自动部署到我们的QA环境中。问题是我们的版本相当大,所以需要压缩,FTP,然后在QA服务器上解压。我不确定远程解压的最佳方式 我可以想出几个选择,但没有一个听起来是正确的:Ftp 在自动部署到QA环境的过程中,如何远程解压缩?,ftp,continuous-integration,zip,nant,Ftp,Continuous Integration,Zip,Nant,我正试图找出一种方法来自动部署到我们的QA环境中。问题是我们的版本相当大,所以需要压缩,FTP,然后在QA服务器上解压。我不确定远程解压的最佳方式 我可以想出几个选择,但没有一个听起来是正确的: 使用PsExec在QA服务器上执行远程命令行调用,以解压缩版本 在QA服务器上托管一个web服务,该服务解压发布并将其复制到正确的位置。上传完文件后,我们的发行版可以调用此服务 在QA服务器上托管一个windows服务,该服务监视文件位置并执行解压缩 但这些都不漂亮。我想知道其他人是如何解决这个问题
- 使用PsExec在QA服务器上执行远程命令行调用,以解压缩版本
- 在QA服务器上托管一个web服务,该服务解压发布并将其复制到正确的位置。上传完文件后,我们的发行版可以调用此服务
- 在QA服务器上托管一个windows服务,该服务监视文件位置并执行解压缩
PS:我们使用CruiseControl.NET来执行NAnt脚本,该脚本执行构建、压缩和FTP操作。您可以使用以下工具代替压缩和取消压缩:;它可以在文件传输期间透明地压缩数据。z选项告诉rsync使用压缩 但我假设您在Windows环境中,在这种情况下,您可以使用(即“rsync for Windows”) 这可能不是一个可行的解决方案,这取决于您对QA箱的访问。您需要:
- 在远程计算机上安装cwRsync服务器,然后
- 允许流量通过任何防火墙
- 在远程计算机上安装cwRsync服务器,然后
- 允许流量通过任何防火墙
- 您可以使用以下工具代替压缩和取消压缩:;它可以在文件传输期间透明地压缩数据。z选项告诉rsync使用压缩
但我假设您在Windows环境中,在这种情况下,您可以使用(即“rsync for Windows”)
这可能不是一个可行的解决方案,这取决于您对QA箱的访问。您需要:
更新:我们希望在该过程中改进的一件事是让服务在CI框中检查zip文件和超过x个月的未压缩文件,以便进行清除。我们通常会耗尽磁盘空间(这是一个我们很少看到的虚拟机),并且在发生时必须手动清除旧版本。在我最后一次工作的地方,我们让一个人在CI框上编写Windows服务来进行解压缩。TFS Team Server完成了生成,并通知服务压缩完成的生成并将其复制到CI框中。CI框拾取新文件并将其解压缩。这可能有点沉重,但它工作得很好——他知道将所有操作记录到事件日志中,因此很容易诊断服务器是否已重置,服务是否尚未启动
更新:我们希望在该过程中改进的一件事是让服务在CI框中检查zip文件和超过x个月的未压缩文件,以便进行清除。我们通常会耗尽磁盘空间(这是一个我们很少看到的虚拟机),并且在发生时必须手动清除旧版本。远程是unix/linux服务器吗?你能用ssh连接到那个服务器吗?为什么不使用rsync?远程服务器是unix/linux服务器吗?你能用ssh连接到那个服务器吗?为什么不使用rsync呢?