tfs - 在 azure devops 中成功完成发布后如何触发构建?
问题描述
我在 azure-devops 中有构建和发布定义。我希望在发布完成后触发构建,我不重复这些步骤,我想触发已经存在的构建定义。我试图弄清楚如何在 azure-devops 中做到这一点。
当我告诉构建它是端到端测试。这个想法是在发布完成后运行端到端测试。注意我已经构建了 E2E 测试,在这里我重复了这些步骤,而不是我只想引用现有的构建并触发它。关于如何做到这一点的任何建议或帮助都会有很大帮助。
解决方案
目前不支持此功能。本文档包含所有 Azure DevOps 触发事件。目前发布完成无法触发构建。
作为一种解决方法,我们可以打开发布定义并power shell
在最后添加任务以调用REST API来触发构建。
电源外壳脚本:
$token = "{PAT}"
$url = "https://dev.azure.com/{Org name}/{project name}/_apis/build/builds?api-version=6.1-preview.6"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))
$JSON = @"
{
"definition": {
"id": {Build Definition ID}
}
}
"@
$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -ContentType application/json -body $JSON
此外,我们可以添加扩展触发 Azure DevOps Pipeline
,然后Trigger Azure DevOps Pipeline
在作业结束时添加任务以触发构建。
结果:
推荐阅读
- r - 为什么没有为 R 中的向量(向量是无量纲的)定义维度的具体例子?
- amazon-web-services - 是否可以使用 s3 java sdk 通过流写入 s3
- sql-server - 重复记录的 SQL 更新
- office-js - 加载 office 插件时,telemetryproxy.html 文件有什么作用?
- c++ - 神秘的 C++ 声明
- python - Python3 小数点精度
- javascript - 如何使用 -react js 编写编辑功能
- c++ - 参数函数中缺少指针 cv 限定,部分模板特化
- typo3 - 如何在 TYPO3 中获取文件引用对象的 uid?
- java - 如何使用 WebScript 上传文件的新版本?