我正在尝试向tfs发布管理发送一条释放路径,而不会触发构建。(我从代码中触发一个版本)。
我试图提供一个新的sourceBranch路径甚至是defaultworkingdirectory ...
我需要传递给tfs以使其工作的变量是什么?我应该在发布时使用什么变量?
谢谢
答案 0 :(得分:0)
如果要使用特定构建作为工件源触发发布,则只需使用create release REST API指定相应的构建ID。
因此,在您的代码中,您可以尝试使用变量 Build.BuildId 来获取构建ID,然后使用create release REST API来触发发布。
POST http://win-ke1habi:8080/tfs/DefaultCollection/LCTFVCScrum/_apis/release/releases/?api-version=3.0-preview.2
Content-Type: application/json
{
"definitionId": {release definition id},
"description": "lctest 0627 07 07 ",
"artifacts": [
{
"alias": "{build definition name-alias}",
"instanceReference": {
"id": "{build id}"
}
}
]
}
如果在发布定义中将TFVC 存储库设置为工件源,则只需指定源版本(变更集版本)即可触发发布:
POST http://win-ke1habi:8080/tfs/DefaultCollection/LCTFVCScrum/_apis/release/releases/?api-version=3.0-preview.2
Content-Type: application/json
{
"definitionId": 4,
"description": "test060727",
"artifacts": [
{
"alias": "LCTFVCScrum",
"instanceReference": {
"name": "Changeset 38",
"id": "38",
"sourceBranch": "$/LCTFVCScrum"
}
}
]
}
<强>更新强>
如果你想在没有TFS系统的情况下使用变量是不可能的,根据你的描述,补丁系统是一个单独的系统,即使你设置它也无法在发布过程中识别变量。
如果您想自动执行此操作,则必须使用TFS系统,例如:对于补丁,crate CI构建,签入增量补丁将触发构建定义以生成工件(构建号将是补丁号),然后创建CD版本,将CI构建定义设置为工件源。