TFS是否支持构建自定义Web套接字?

时间:2017-01-25 13:39:00

标签: tfs azure-devops devops azure-pipelines azure-pipelines-build-task

我想在TFS中创建一个自定义构建步骤(插件),它将在我的外部服务器中调用API。我想将结果从我的服务器发送到TFS并通知作业已完成(大约需要1-2个小时)。然后我才想进入下一个构建步骤。

为此,我需要向服务器发送一个"回拨网址"将输出发送到(一旦完成)。我的问题是我可以在TFS(从我的tfs插件)中打开这么小的Web套接字吗? TFS是否有一个框架?或者我应该在我的插件中附加一个自定义web服务进程来运行这个Web套接字。

此插件将作为构建系统的一部分,只有在我从服务器获得答案后才能完成,并且我需要在摘要构建页面的另一个插件中显示此数据。 / p>

TFS是否支持\具有某些功能,还是应该自己实现整个功能?

1 个答案:

答案 0 :(得分:1)

不,不受支持。您可以调用TFS API(例如REST API)来对TFS执行某些操作(例如,队列/停止构建)

您可以以恒定速度运行循环以检查外部服务器的结果,如果结果已完成,则继续运行。

例如(使用PowerShell构建步骤的PowerShell):

$inprocess=true
$loopDelayseconds = 300
while($inprocess)
{
   # send request to server and check the result
   # if result is finished, set inprocess to false, else call Start-Sleep.

    Start-Sleep -s $loopDelayseconds
}

节点:如果任务花费的时间太长,则需要更改构建作业超时值(构建定义>常规>以分钟为单位构建作业超时)。