您可以将发布计划中的工件存储在 Visual Studio Team Services 中吗?

Posted

技术标签:

【中文标题】您可以将发布计划中的工件存储在 Visual Studio Team Services 中吗?【英文标题】:Can you store artifacts from a Release plan in Visual Studio Team Services? 【发布时间】:2016-09-20 07:50:59 【问题描述】:

我在 Visual Studio Team Services Online 中有一个发布计划,该计划在 Web 应用部署后运行一个小型 UI 测试(使用 Selenium)以确保应用正常运行。

我想将此版本的屏幕截图存储为工件,以便在版本完成后可以访问它们(主要是在测试失败的情况下)。

这可以使用 VSTS 吗?

我尝试将 Copy Publish Artifact 任务作为我的发布计划的一部分,但这只会产生一些错误,例如 System.Management.Automation.ParameterBindingValidationException: Cannot bind argument to parameter 'StagingFolder' because it is null.

【问题讨论】:

【参考方案1】:

您可以使用“##vso[task.uploadfile]”命令来执行此操作。

查看和下载与发布相关的附件

您想上传其他日志、诊断信息或图像吗? 在发布中运行任务?此功能使用户可以上传 部署期间的其他文件。要上传新文件,请使用 脚本中的以下代理命令:

写主机“##vso[task.uploadfile]”

该文件随后可作为发布日志的一部分使用。当你 下载与发布相关的所有日志,您将能够 也检索此文件。

【讨论】:

谢谢,确切的语法是 Write-Host "##vso[task.uploadfile]local_file_path.ext"(其中 local_file_path.ext 是要上传的文件) 可以在github.com/Microsoft/vsts-tasks/blob/master/docs/authoring/…找到完整的命令列表 我仍然不清楚我需要在这里做什么。在发布期间我在哪里保存文件以便##vso[task.uploadfile] 可以查看是否?或者没关系,我可以把它保存在任何地方吗? 另外,如果屏幕截图在测试中被命名(并且可能有很多)。如何在测试任务之外执行命令 Write-host "##vso[task.uploadfile]" 并获取需要包含的文件的名称?

以上是关于您可以将发布计划中的工件存储在 Visual Studio Team Services 中吗?的主要内容,如果未能解决你的问题,请参考以下文章

ProGet 上传本地工件

Github 作为 mlflow 中的工件 repo

将构建工件发布到远程 Git 存储库 - Azure DevOps

如何仅发布 Nexus Staging 存储库中的部分工件

更改 MLflow 工件存储的子目录

Nexus 支持批量上传工件吗?