在我的vNext-build-definition中,我添加了一個新的構建步驟:「cURL上傳文件」。
在使用URL和可選參數的語法稍微花點時間後,我終於實現了它,以便在正確的目標文件夾中訪問我的sftp服務器 - 此連接工作至今。
但當捲曲試圖啓動上傳日誌只是說:TFS 2015 Build vNext:cURL-FTP上傳越野車或難以使用
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
隨着「越野車」我的意思是在構建步驟的定義選擇文件,無需用戶任何幫助的方式:
嘗試1 :
我可以通過「...」輕鬆選擇文件 - 按鈕 - 我可以瀏覽我的存儲庫的文件夾結構並選擇一個文件。感覺非常正常。該文件夾然後寫入文本框「文件」 - 但沒有雙引號,雖然它包含空格...這會遇到錯誤,因爲cURL預計不會理解文件夾名稱。
嘗試2:
然後,我自己添加了雙引號,但仍然出現上述錯誤。
嘗試3:
然後我嘗試了語法**/myfile.txt
Ahaa,這實際上起作用!!但是這會上傳所有名爲myfile.txt的文件夾中的所有文件(日誌告訴我一些有趣的事情:curl被調用使用另一種帶花括號的語法:{「完整路徑/到/我的/文件名」})
以防萬一tfs-dev-團隊的某人讀到:另一個無意義的鏈接是底部的「更多信息」的步驟定義。它導致了一個話題「部署:Azure PowerShell」 - 這與FTP上傳無關,它的內容只是「此主題尚未撰寫..」:-(
因此,我現在結束了以下可能性:
使用語法**/filename
(如果你能與缺點,即在具有相同文件名回購的所有子文件夾中的所有文件將被上傳過,所以最好把你的文件名獨特!)
2.之前使用另一個構建步驟,將文件複製或移動到回購的根文件夾,以便僅在「文件」-TextBox中使用文件名稱witho ut路徑信息。
3.忘記捲曲積聚步驟:使用的WinSCP用臨時腳本,並用一個批處理腳本步驟(http://winscp.net/eng/docs/guide_automation):-)
運行(上面提到的語法與大括號是對我來說沒用,因爲它強制我包含構建代理的整個路徑,我不能在我的回購庫中使用相對路徑。)
有什麼更好的想法?
我也遇到過其他VSO代理任務的一些問題。您應該將所有這些問題都歸檔到vso-agent-tasks GitHub頁面上,以便Microsoft可以改進它們。 https://github.com/Microsoft/vso-agent-tasks/tree/master/Tasks/cURLUploader – chief7