如何测试Azure管道

问题描述 投票:0回答:1

是否有可能测试创建的Azure管道?从UI还是管道的yaml定义?

意味着我有一些Yamls管道或从UI定义的管道,我想通过一些测试(例如Unit Tests e)来确保所有定义的变量,构建,测试和打包零件或每个管道中的其他东西。

并在对它们进行一些更改之后,或者在需要时添加一些新的存储库/分支之后,验证管道配置。

谢谢...

azure unit-testing azure-devops yaml
1个回答
0
投票

是否有可能测试创建的Azure管道?从用户界面或您的yaml管道的定义?

如果您想使用现成的功能来实现这一目标,很遗憾地说,不,还没有。

但是,解决方法是使用API进行检查。

  • 客户端API。

您可以编写一个简单的脚本来使用Client API获取Builds定义。

在这个简单的脚本中,您首先获得了整个定义:

List<BuildDefinitionReference> buildDefinitions = new List<BuildDefinitionReference>();

然后,您可以使用脚本将自定义的检查/测试应用于此定义。一句话,编写一些测试类/方法。脚本完成后,可以将其导入VSTS,然后使用task运行这些测试部分。仅此测试成功,然后您的构建才能执行。

因此,此时,您需要在管道中添加2个代理作业,第一个用于运行脚本test(名称test agent job)。第二个座席工作就是您要检查的工作。在第二个代理作业中,将其条件设置为:

enter image description here

目前,只有测试成功,才能运行此当前作业。

或者,如果您不希望由于测试而破坏要检查的构建,请考虑使用构建完成触发器。设置单独的管道以运行测试。在您要检查的管道中,将其设置为仅在测试管道完成时才能运行。

enter image description here


  • Rest API

您可以将rest api与powershell一起使用,与上面的描述非常相似。使用api获取内部版本定义,然后编写一些检查powershell脚本。


我更建议您将测试放在单独的管道中。然后,API只能获取您要检查的部分,而不包括测试部分。

© www.soinside.com 2019 - 2024. All rights reserved.