【问题标题】:curl used in tfs Couldn't resolve hosttfs 中使用的 curl 无法解析主机
【发布时间】:2016-08-03 07:20:11
【问题描述】:

我在 TFS 构建的一个步骤中使用 curl。该步骤生成一个 cUrl 命令以将一些文件上传到 ftp 位置。

我将命令简化为给出相同问题的最简单示例:

curl --stderr - -T {"helloworld.txt","helloworld2.txt"} ftp://10.32.4.2/CI/Workspace/

上面写着:

curl: (6) 无法解析主机 'helloworld2.txt'

同时

curl --stderr - -T "helloworld.txt" ftp://10.32.4.2/CI/Workspace/

确实如预期的那样将文件上传到 ftp 位置。

【问题讨论】:

  • 这是shell的引用问题。你用的是哪一个? (有关相关问题,请参阅this)。因此它与 TFS 无关。
  • Powershell 我想...实际上它与引号有关。更改 {"helloworld.txt","helloworld2.txt"}in "{helloworld.txt,helloworld2.txt}" 有效。但第一个是 TFS 如何生成命令。
  • 您是在为 curl 构建命令行,还是 TFS 正在构建命令行(来自 MS 或第 3 方提供的构建步骤)?如果是后者,你应该看看你是否可以在那里报告错误,否则就像你(现在)构建你的命令行知道它工作;-)
  • 它是由 TFS 上的构建步骤(cUrl 构建步骤:))生成的。
  • 啊,好的,很抱歉:我读了TFS 标签。您可能想举报issue

标签: curl tfs ftp


【解决方案1】:

在您的代理上找到cURLUploader.ps1 脚本。它在 $agentPath\tasks\cURLUploader\1.0.0\ 下

从第 54 行更改

$uploadFiles = '{"' + [System.String]::Join('","', $foundFiles) + '"}'

$uploadFiles = '"{' + [System.String]::Join(',', $foundFiles) + '}"'

我将此作为错误提交:https://github.com/Microsoft/vsts-tasks/issues/2202

【讨论】:

  • 您可以将其标记为答案,以便其他有类似问题的人可以看到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多