我现在忙于配置我们的新TFS 2015服务器(本地),并试图使新的vnext构建正常工作。
现在我有一些额外的PowerShell脚本,可以增加我的程序集版本号。它还通过调用API方法(请参见tfs rest api)更改了TFS中的buildnumber。我的json主体只发送新的构建编号(例如{"buildNumber": "1.0.1.1234"}),这很好地工作了。
现在,我已经在版本定义中添加了一些主要、次要和修补程序版本变量。一旦构建完成,就应该更新。因此,我认为做同样的事情,并只向相应的builddefinition端点发送更新API调用即可。文档说修订号是必需的,所以我添加了它。对于其他部分,我只添加了已更改的变量。 API调用有效,但讨厌的是,它将更新整个定义并清除我在json主体中未提供的所有其他设置。我也尝试通过API先获取定义,更改变量的json值,然后将其发送回来,但那也不正确。
那么,有人知道一个好的解决方案吗?
作为一种解决方法,我现在所做的是添加一个虚拟的构建定义(例如“_ProjectVersion”),除变量外完全为空白,然后我的构建任务现在使用该构建定义来获取最新的版本号并更新它们。因此,API调用仍会清空整个构建定义,但由于它只包含我的变量,所以我并不介意。
现在,我已经在版本定义中添加了一些主要、次要和修补程序版本变量。一旦构建完成,就应该更新。因此,我认为做同样的事情,并只向相应的builddefinition端点发送更新API调用即可。文档说修订号是必需的,所以我添加了它。对于其他部分,我只添加了已更改的变量。 API调用有效,但讨厌的是,它将更新整个定义并清除我在json主体中未提供的所有其他设置。我也尝试通过API先获取定义,更改变量的json值,然后将其发送回来,但那也不正确。
那么,有人知道一个好的解决方案吗?
作为一种解决方法,我现在所做的是添加一个虚拟的构建定义(例如“_ProjectVersion”),除变量外完全为空白,然后我的构建任务现在使用该构建定义来获取最新的版本号并更新它们。因此,API调用仍会清空整个构建定义,但由于它只包含我的变量,所以我并不介意。