如何使在发布管道期间生成的文件可访问?

时间:2020-01-16 14:00:04

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline

我在Azure DevOps的发行版定义中为我的应用程序运行UI测试。我生成测试报告。我决定将其保存在构建目录中很方便(错误的假设?)。报告所在的目录是:

browserName + DateTime.Now.ToString("ddMMyyyyHHmmss", CultureInfo.InvariantCulture) + @"\";

因此目录正则表达式将是例如:Chrome\d+

我在发布管道中构建测试项目,运行测试,然后尝试发布报告。目标是使其在Azure DevOps中可用,或发送链接以下载它或以其他任何方式使其可访问。

enter image description here

为此,我添加了一个步骤Publish Build Artifact enter image description here

但是我得到一个错误:

enter image description here

但是我没有可用的文件共享(例如,我可以创建Azure存储帐户)另外Publish Build Artifact 不支持通配符,因此我无法使用正则表达式Chrome\d+来固定在报告目录下。

问题:如何使在发布管道期间生成的文件可访问?

编辑:同时,我发现我的Sharepoint可用,并且有足够的存储空间。

1 个答案:

答案 0 :(得分:0)

不幸的是,不允许从发布管道进行发布。

Can we publish artifacts in release pipeline - Azure devOps?

一种解决此问题的方法是尝试在发布管道中发布Universal软件包,但它有局限性。创建提要并在其中发布文件,以便您可以与其他人共享URL。这不是最佳选择,但是如果测试结果文件不大,则可以发布到供稿中并有时对其进行清理(手动,因为REST API提供了删除软件包的方法,但不提供获取所有已发布软件包列表的功能)。 / p>

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/package/universal-packages?view=azure-devops

此选项的缺点是对于免费用户,它的最大限制为2GB。您可以根据需要删除旧软件包,但大约需要24小时才能释放空间。但是您可能会忘记释放空间,并且管道将因没有足够的存储错误而失败,并且到接下来的24小时,您将不得不禁用此任务以使管道通过。

“我认为将其保存在构建目录中很方便” 请记住,将根据您选择的选项清除代理工作目录。 https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/pipeline-options-for-git?view=azure-devops#clean-the-local-repo-on-the-agent