【问题标题】:Making sense out of VSTS logging commands task.addattachment, task.uploadfile, artifact.upload and build.uploadlog了解 VSTS 日志记录命令 task.addattachment、task.uploadfile、artifact.upload 和 build.uploadlog
【发布时间】:2019-05-03 19:51:25
【问题描述】:

我从我的 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.xmlPSTests.xml 被下载并放置在一个文件夹中。然后我发出 VSTS 日志记录命令。

我能为他们找到的唯一文档是https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/commands.md,它给我们留下了很大的想象空间。

到目前为止我学到了什么:

build.uploadlog

将文件的内容嵌入到相应任务的日志中。例如:

正如我们所见,NUnit 测试结果被预先添加到步骤日志中。这是文档所说的:

我希望它对某人有意义,对我来说没有任何意义。下一个:

artifact.upload

这很简单 - 它将文件作为工件添加到构建中:

但每个工件都包含 ALL 文件。所以,我点击哪个探索按钮(CSTests.xmlPSTests.xml)并不重要,我总是会得到这个:

听起来我应该将这两个工件放在不同的容器文件夹中,但是同时拥有容器文件夹和工件名称的目的是什么?我很困惑。

task.uploadfile

使用这个我在下载日志时将我的 NUnit 测试结果文件包含在日志存档中:

这里没有问题。

task.addattachment

这对我来说是个谜。它没有明显的效果。文档说:

不清楚它是什么类型的附件,我们在哪里可以找到它。

所以,我的问题是:

  1. 除了上述半成品的降价页面之外,是否有关于 VSTS 日志记录命令的严肃文档?
  2. build.uploadlog - 它总是将文件的内容添加到步骤日志中还是附加也是一种选择?
  3. artifact.upload - 如何将文件发布为单独的工件?这是否意味着单独的容器文件夹?但是随后文件的名称很可能会在两个地方被提及——容器文件夹和工件名称。是这样吗?
  4. task.addattachment - 它有什么作用?

【问题讨论】:

标签: tfs azure-devops azure-pipelines


【解决方案1】:

我对这些日志记录命令的文档同样感到沮丧。

至于task.addattachment,我发现了Build/Attachments REST API,附件显示在那里。它有这种格式: GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/attachments/{type}?api-version=6.0-preview.2

请注意,type 是必需的。您只需使用在task.addattachment 命令中指定的相同type

我能够构建一个 url 并将其插入我的浏览器窗口。然后它显示原始 json 响应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 2014-01-22
    • 2011-07-02
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    相关资源
    最近更新 更多