TFS 2015 Build vNext:卷曲FTP上载错误或难以使用
在我的vNext构建定义中,我添加了一个新的构建步骤:“cURL Upload Files”TFS 2015 Build vNext:卷曲FTP上载错误或难以使用,tfs,build,ftp,tfs-2015,Tfs,Build,Ftp,Tfs 2015,在我的vNext构建定义中,我添加了一个新的构建步骤:“cURL Upload Files”在使用URL的语法和可选参数后,我最终完成了它,以到达正确的目标文件夹中的sftp服务器-到目前为止连接正常。 但是当cURL试图开始上传时,日志只会说: curl: Can't open 'my-Subfolder/Another Subfolder/myfile.txt'! curl: try 'curl --help' or 'curl --manual' for more information
在使用URL的语法和可选参数后,我最终完成了它,以到达正确的目标文件夹中的sftp服务器-到目前为止连接正常。
但是当cURL试图开始上传时,日志只会说:
curl: Can't open 'my-Subfolder/Another Subfolder/myfile.txt'!
curl: try 'curl --help' or 'curl --manual' for more information
Unexpected exitcode 26 returned by tool curl.exe
“buggy”指的是在构建步骤的定义中选择文件的方式,用户无需任何帮助:尝试1:
我可以通过“…”按钮轻松选择文件-我可以浏览存储库的文件夹结构并选择文件。感觉很正常。文件夹随后被写入文本框“文件”-但不带双引号,尽管它包含空格。。。这会发生错误,因为cURL不理解文件夹名称。
请尝试2:
然后我自己添加了双引号,但仍然出现上面的错误。
尝试3:
然后我尝试了语法
**/myfile.txt
啊哈,这真的管用!!。。。但是这会上载所有名为myfile.txt的文件夹中的所有文件(日志告诉我一些有趣的事情:curl是通过使用另一种带有花括号的语法来调用的:{“complete path/to/my/filename”})
以防tfs开发团队的某个人读到:另一个毫无意义的链接是步骤定义底部的“更多信息”。它引出了一个主题“部署:Azure PowerShell”-与FTP上载无关,其内容只是“此主题尚未编写…”:-( 因此,我现在总结了以下可能性:
1.使用语法
**/filename
(如果您可以接受这样一个缺点,即将上载repo所有子文件夹中具有相同文件名的所有文件,那么最好保持文件名唯一!)2。在之前使用另一个构建步骤,并将文件复制或移动到repo的根文件夹中,以便仅在“文件”文本框中使用文件名,而不使用路径信息。
3.忘记cURL构建步骤:将WinSCP与临时脚本一起使用,并与批处理脚本一起运行-step():-)
(上面提到的带花括号的语法对我来说是无用的,因为它迫使我包含构建代理上的整个路径,我不能在repo中使用相对路径。)
还有更好的想法吗?我可以用TFS 2015 update1+curl 7.47.0重现您的情景:
,curl无法识别它,我们将得到错误:curl:cannotopen'C:/agent/\u work/xx/s/other'代码>
但是,如果我们将文件放在名称不包含空格的文件夹下,就不会出现错误
curl:cannotopen'C:/agent/_work/xx/s/other'代码>,因此您可以考虑创建一个新的文件夹,如“代码> AnotherSubfolder < /Cord>”,并将文件复制到该文件夹下,然后可以使用整个路径。p> 我在其他VSO代理任务中也遇到了一些问题。您应该在vso代理任务GitHub页面上提交所有这些问题,以便Microsoft能够改进它们。我有一个类似的问题,我必须复制的文件包括一些名称中带有空格的文件夹。很遗憾,我无法重命名它们,因为它们位于app.publish文件夹中,并且包含clickonce部署文件。在这种情况下,如何使其工作?