无法使用 TeamCity 进行 rsync

Can't rsync using TeamCity

我正在使用 TeamCity 将一些代码文件部署到 SiteGround 网站。我首选的方法是使用 rsync。

我已经能够 运行 直接在服务器上成功执行 rsync 命令,并且 运行 传输文件也很好。但是,当我尝试使用“命令行”运行ner 类型在 TeamCity 中执行相同操作时,它只是挂起。我添加了 -vv--progress,这为我提供了更多信息,但它似乎一直在旋转。

这是我 运行ning 的命令:

rsync -avvz --progress --exclude-from='exclude.txt' -e 'ssh -p 1234 -i "C:\key_path"' local_folder/ username@host:/home/username/www/website_name/public_html/

当 运行 秒时,我得到以下输出:

Step 1/1: Command Line
    Content of C:\TeamCity\buildAgent\temp\agentTmp\custom_script3540432755549071709.cmd file: 
    @echo off
    rem This is a custom script written by TeamCity using windows-1252 charset.
    rsync -avvz --progress --exclude-from='exclude.txt' -e 'ssh -p 1234 -i "C:\key_path"' local_folder/ username@host:/home/username/www/website_name/public_html/
    Starting: C:\TeamCity\buildAgent\temp\agentTmp\custom_script3540432755549071709.cmd
    in directory: C:\TeamCity\buildAgent\work\b0e622b4a054b513
    opening connection using: ssh -p 1234 -i "C:\key_path" -l username host rsync --server -vvlogDtprze.iLs . /home/username/www/website_name/public_html/

这在 TeamCity 的构建步骤中显示,但随后什么也没有发生。根本没有文件 t运行 提交给服务器。如上所述,这在服务器上运行得非常好——我什至尝试 运行 从 TeamCity 创建的 .cmd 文件中使用它,没有任何问题。

以下是我检查过的一些内容:

  1. 我可以运行服务器上的命令cmd.exe
  2. 我可以运行 使用 TeamCity 创建的 .cmd 文件的命令
  3. 我把脚本留给 运行 以防需要一段时间但它永远不会完成
  4. 我试过在 rsync 命令中使用相对路径
  5. 我检查过 TeamCity 使用的用户与我 运行 在
  6. 上进行的上述测试相同

一天结束时我感到绝望,并注意到 TeamCity 有一个更新版本 2020.2.3(内部版本 86002)可用。我 运行 更新,运行 构建,它按预期工作。我不是 100% 确定问题出在哪里,但更新似乎可以解决问题。