如何测试Azure管道

如何测试Azure管道,azure,unit-testing,azure-devops,yaml,Azure,Unit Testing,Azure Devops,Yaml,是否有可能测试创建的Azure管道?从UI或您的yaml管道定义 这意味着我有一些YAML管道或从UI定义的管道,我希望通过一些测试(单元测试e.x.)确保每个管道中都定义了变量、构建、测试和打包部分或其他内容 并在对管道配置进行一些更改后或添加一些新的回购/分支(如果需要)后验证管道配置 谢谢 是否有可能测试创建的Azure管道?从UI或您的 管道的yaml定义 如果你想要一个现成的功能来实现这一点,很抱歉,没有 但是,解决方法是使用API来检查它们 客户端API。 您可以编写一个简单的脚

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

这意味着我有一些YAML管道或从UI定义的管道,我希望通过一些测试(单元测试e.x.)确保每个管道中都定义了变量、构建、测试和打包部分或其他内容

并在对管道配置进行一些更改后或添加一些新的回购/分支(如果需要)后验证管道配置

谢谢

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

如果你想要一个现成的功能来实现这一点,很抱歉,没有

但是,解决方法是使用API来检查它们

  • 客户端API。
您可以编写一个简单的脚本来获取构建定义

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

List<BuildDefinitionReference> buildDefinitions = new List<BuildDefinitionReference>();
List buildDefinitions=new List();
然后,您可以使用脚本将定制的检查/测试应用到该定义中。总之,编写一些测试类/方法。脚本完成后,可以将其导入VST,然后使用task运行这些测试部分。只有此测试成功,才能执行构建

因此,此时,需要向管道中添加两个代理作业,第一个用于运行脚本测试(名称测试代理作业)。第二个代理任务就是您要检查的任务。在第二个代理作业中,将其条件设置为:

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

或者,如果您不想检查的构建会因为测试而被破坏,请考虑使用<强>构建完成触发器< /强>。设置单独的管道以运行测试。在要检查的管道中,设置只有在测试管道完成时才能运行


  • RESTAPI
您可以将RESTAPI与powershell一起使用,这与上述描述非常相似。用于获取构建定义,然后编写一些检查powershell脚本



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

创建一个新分支,在那里运行管道。谢谢,@shaykibaramczyk,但我希望有一些类似于检查器的单元测试,并确保没有其他人删除或禁用管道的某些重要部分。因此,分支将策略转移到该分支,除非你,否则没有人能推他。正如我所知,任何单元测试脚本都不能做到这一点。还有另外一种方法可以实现这一点,但它可能无法满足您的需求。而且,实现起来也不太复杂。这可能会让你的管道变得庞大,可以吗?