【问题标题】:Execute generic end to end test in Azure Pipelines from seperate repository从单独的存储库在 Azure Pipelines 中执行通用端到端测试
【发布时间】:2020-03-19 15:06:34
【问题描述】:

我正在处理 Azure DevOps 中的一个项目。该项目分布在多个存储库中,其中包含具有多个 CI/CD 管道的 Azure 函数、逻辑应用程序等。目前我正在为这个项目开发一个端到端的测试解决方案。

我希望将测试放在单独的存储库中,并能够在其他 CD 管道运行时触发测试。我怎样才能做到这一点?这些测试是使用 MSTest 构建的,目前在构建管道中运行。

【问题讨论】:

  • 嗨,您有机会尝试以下解决方案吗?如果有任何问题,请随时告诉我。

标签: automated-tests azure-pipelines mstest


【解决方案1】:

您可以使用 rest api 在其他 CD 管道运行时触发测试。

如果您想在单独的 CI 管道中运行测试。您需要创建一个 CI 管道来运行此测试存储库的测试。然后在CD管道中添加一个脚本任务调用build queue restful api。请在 powershell 任务中查看以下脚本示例。

$url = "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_apis/build/builds?api-version=5.1"

$qbody = '{ 
                "definition": {
                   "id": "the definition id of the test CI pipeline"    
                  } 
              }'

$update = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"} -ContentType "application/json"  -Method post -Body $qbody

您还需要去代理工作并检查Allow scripts to access the OAuth token

从CD管道触发测试CI管道的另一种方法是在CD管道中添加Trigger Azure DevOps Pipeline task并将其配置为触发测试CI管道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 2013-05-09
    • 2020-06-29
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多