Имеет смысл использовать команды ведения журналов VSTS. - PullRequest
0 голосов
/ 02 декабря 2018

У меня есть два артефакта, которые я загружаю с моего сервера 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

Встраивает содержимое файлов в журнал соответствующей задачи.Например:

enter image description here

Как видно, результаты теста NUnit добавляются к собственному журналу шагов.И вот что говорится в документации:

enter image description here

Я надеюсь, что это кому-то имеет смысл, для меня это не имеет никакого значения.Далее:

artifact.upload

Это просто - он добавляет файлы в качестве артефактов в сборку:

enter image description here

Но каждый артефакт содержит ALL файлов.Таким образом, не имеет значения, какую кнопку «Исследовать» я нажимаю (для CSTests.xml или PSTests.xml), я всегда получаю это:

enter image description here

ПохожеОт меня ожидают, что эти два артефакта будут помещены в разные папки контейнеров, но тогда какова цель иметь как папки контейнеров, так и имена артефактов?Я в замешательстве.

task.uploadfile

Используя этот файл, я получил мои файлы результатов теста NUnit, включенные в архив журналов при загрузке журналов: enter image description here enter image description here

Здесь нет вопросов.

task.addattachment

Этот вопрос для меня загадка,Это не имеет видимого эффекта.Документация гласит:

enter image description here

Не ясно, что это за вложение и где его можно найти.

Итак, мойвопросы:

  1. Существует ли серьезная документация для команд журналирования VSTS, помимо вышеупомянутой наполовину уцененной страницы уценки?
  2. build.uploadlog - всегда ли она предваряет содержимое файловжурнал шагов или добавление также является опцией?
  3. artifact.upload - как публиковать файлы как отдельные артефакты?Это означает, что отдельные папки контейнера?Но тогда имя файла, вероятно, будет упомянуто в двух местах - папка контейнера и имя артефакта.Это так?
  4. task.addattachment - что это делает?
...