У меня есть два артефакта, которые я загружаю с моего сервера Octopus для показа в моей сборке vNext (мы используем локальную TFS).
Код:
$Artifacts.GetEnumerator() |% {
curl $_.Value -OutFile "$TestResults\$($_.Key)" -Headers @{
"X-Octopus-ApiKey" = $ApiKey
}
Write-Host "##vso[task.addattachment type=NUnitTestResults;name=$($_.Key);]$TestResults\$($_.Key)"
Write-Host "##vso[task.uploadfile]$TestResults\$($_.Key)"
Write-Host "##vso[artifact.upload containerfolder=NUnitTestResults2;artifactname=$($_.Key);]$TestResults\$($_.Key)"
#Write-Host "##vso[build.uploadlog]$TestResults\$($_.Key)"
}
Два файла - CSTests.xml
и PSTests.xml
загружаются и помещаются в папку.Затем я выдаю команды ведения журналов VSTS.
Единственная документация, которую я смог найти для них, это https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/commands.md, и она оставляет много места нашему воображению.
Что у меня естьузнал до сих пор:
build.uploadlog
Встраивает содержимое файлов в журнал соответствующей задачи.Например:
Как видно, результаты теста NUnit добавляются к собственному журналу шагов.И вот что говорится в документации:
Я надеюсь, что это кому-то имеет смысл, для меня это не имеет никакого значения.Далее:
artifact.upload
Это просто - он добавляет файлы в качестве артефактов в сборку:
Но каждый артефакт содержит ALL файлов.Таким образом, не имеет значения, какую кнопку «Исследовать» я нажимаю (для CSTests.xml
или PSTests.xml
), я всегда получаю это:
ПохожеОт меня ожидают, что эти два артефакта будут помещены в разные папки контейнеров, но тогда какова цель иметь как папки контейнеров, так и имена артефактов?Я в замешательстве.
task.uploadfile
Используя этот файл, я получил мои файлы результатов теста NUnit, включенные в архив журналов при загрузке журналов:
Здесь нет вопросов.
task.addattachment
Этот вопрос для меня загадка,Это не имеет видимого эффекта.Документация гласит:
Не ясно, что это за вложение и где его можно найти.
Итак, мойвопросы:
- Существует ли серьезная документация для команд журналирования VSTS, помимо вышеупомянутой наполовину уцененной страницы уценки?
build.uploadlog
- всегда ли она предваряет содержимое файловжурнал шагов или добавление также является опцией? artifact.upload
- как публиковать файлы как отдельные артефакты?Это означает, что отдельные папки контейнера?Но тогда имя файла, вероятно, будет упомянуто в двух местах - папка контейнера и имя артефакта.Это так? task.addattachment
- что это делает?