我正在尝试上传部署期间由第三方exe创建的日志文件,并将其包含在我的部署结果中,如果可能的话,在单独的选项卡上。
我尝试使用发布工件构建任务,但这仅适用于构建而不是发布。
我尝试过记录任务,但“## vso [build.uploadlog]本地文件路径”似乎也适用于构建,因为它抱怨为构建找到容器。
答案 0 :(得分:6)
发布管理没有构建工件的容器,这就是您看到此错误消息的原因。
您可以尝试以下任务:
Write-host "##vso[task.uploadfile]<filename>"
查看和下载与版本相关的附件
您希望何时上传其他日志或诊断或图片 在发布中运行任务?此功能使用户可以上传 部署期间的其他文件。要上传新文件,请使用 在脚本中执行以下代理命令:
Write-host&#34; ## vso [task.uploadfile]&#34;
该文件随后可用作发布日志的一部分。当你 下载与该版本相关的所有日志,您将能够 也可以检索此文件。
您还可以在发行版定义中添加powershell脚本任务,以读取日志文件并将其输出到控制台。然后,您将看到来自&#34; Logs&#34;的日志文件的内容。 tab powershell脚本步骤。您也可以点击&#34;将所有日志下载为zip&#34;下载日志。
答案 1 :(得分:1)
@DonRolling,谢谢您的详细回答。在我的情况下,我没有添加新任务来压缩文件夹,而只是将其包含在powershell中:
Compress-Archive -Path "$(System.DefaultWorkingDirectory)/TestFolder/ScreenShots" -DestinationPath "$(System.DefaultWorkingDirectory)/TestFolder/ScreenShots" -Force
Write-host "##vso[task.uploadfile]$(System.DefaultWorkingDirectory)/TestFolder/ScreenShots.zip"
答案 2 :(得分:1)
我遇到了类似的问题,但我也想在随后的代理阶段使用 Artifacts 。
根据先前的答案,我创建了一个扩展程序,该扩展程序可以:
上传任务正在使用前面提到的logging命令。然后,下载任务将查询Azure DevOps REST Api,以下载到目前为止收集的所有日志,尝试查找指定的工件并将其复制到特定位置。
如果有人感兴趣,可以在Marketplace
上找到答案 3 :(得分:0)