Мы по-прежнему используем TFS 2010 и msbuild в качестве системы сборки. В настоящее время нам нужно запустить сборку на jenkins, поэтому мы добавили exec-задачу в наш скрипт в msbuild, используя curl и файл netcr. К сожалению, наш URL содержит пробелы, которые мы замаскировали как «% 20», но после того, как наш exec-вызов был повышен в журнале сборки, появляется сообщение об ошибке, в котором говорится, что сервер не найден. Я понял, что msbuild пытается не использовать URL, как я его ввел, но msbuild размазывает наш "% 20" на пустые места, которые нам не нужны. В журнале сборки кажется, что эта команда была запущена:
"c:\Tools\Curl\curl.exe --netrc-file c:\Tools\Curl\.netrc https://my.domain.de/job/My Strange Build Artifacts/buildWithParameters?token=My-token-build&VERSION=1.2.3.10373"
Я пробовал несколько вариантов маскировки всего URL с помощью
" and &
но безуспешно
Итак, как я могу запустить задачу exec, как это:
<Exec ContinueOnError="true" Command="c:\Tools\Curl\curl.exe --netrc-file c:\Tools\Curl\.netrc "https://my.domain.de/job/My%20Strange%20Build%20Artifacts/buildWithParameters?token=MY-token-build&VERSION=1.2.3.10373"">
<Output TaskParameter="ExitCode" PropertyName="ResultUploadArtifactsToJenkins" />
</Exec>
в результате получится настоящая команда cmd-line, которая по-прежнему содержит «% 20»:
"c:\Tools\Curl\curl.exe --netrc-file c:\Tools\Curl\.netrc https://my.domain.de/job/My%20Strange%20Build%20Artifacts/buildWithParameters?token=My-token-build&VERSION=1.2.3.10373"