我正试图找到一种方法来自动部署到我们的QA环境。问题是我们的版本非常大,因此需要在QA服务器上进行Zipped,FTP'd然后解压缩。我不确定如何最好地远程解压缩。
我可以想到几个选项,但没有一个听起来合适:
但这些都不是很好。我想知道其他人是如何解决这个问题的?
PS:我们使用CruiseControl.NET来执行构建,压缩和FTP的NAnt脚本。
答案 0 :(得分:2)
您可以使用rsync之类的工具,而不是压缩和解压缩;它可以在文件传输过程中透明地压缩数据。 -z选项告诉rsync使用压缩。
但我认为你是在Windows环境中,在这种情况下你可以使用cwRsync(“rsync for Windows”)。
根据您对QA框的访问权限,这可能不是一个可行的解决方案。你需要:
答案 1 :(得分:2)
在我工作的最后一个地方,我们有一个人在CI盒子上写了一个Windows服务来解压缩。 TFS Team Server完成构建并通知服务压缩已完成的构建并将其复制到CI框。 CI框在新文件上获取并解压缩。它可能有点沉重,但它运行良好 - 并且他认识到将所有操作记录到事件日志中,因此很容易诊断服务器是否已重置且服务尚未启动。
更新:我们希望在该过程中改进的一件事是让CI盒上的服务检查zip文件和超过x个月的未压缩文件,以用于清除目的。我们经常耗尽磁盘空间(这是我们很少看到的虚拟机),并且必须在发生时手动清除旧版本。