部署组目标机器代理和VSTS服务器之间的连接如何工作?

时间:2018-07-13 06:05:47

标签: azure-devops

我最近偶然发现VSTS部署组是一种针对CI / CD的解决方案,该解决方案是针对运行在装有Windows 10 OS(未托管Azure)的多台计算机上的控制台应用程序的。

我能够创建一个概念证明,即部署组对于我们的特定情况是一个很好的解决方案,并且我试图找出有关VSTS服务器与目标计算机上运行的代理之间的通信的更深入的详细信息为了提供有关安全问题的详细信息。我已经阅读了MS提供的文档,但无法根据协议,使用的端口以及任何其他可能的相关细节来查找/理解2之间的通信方式。

代理正在以交互方式(不是作为服务)运行。

我尝试了以下操作:

  1. 使用Fiddler跟踪目标计算机在整个发行过程中完成的HTTP / HTTPS请求-在此期间似乎没有发出HTTP / HTTPS请求。
  2. 使用TCP View可以显示代理启动后在目标计算机与VSTS服务器之间建立的TCP连接。连接由AgentListener.exe进程启动。但是,无论何时建立新连接(重新启动代理),都会在不同的本地端口(它似乎永远不是同一本地端口)上创建一个新的TCP连接。

有人知道目标计算机与VSTS服务器之间的连接如何工作的更多信息吗?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

从目标计算机通过HTTP或HTTPS到VSTS / TFS进行通信。如果是VSTS,则始终使用目标代理的443端口传出。如果是TFS,则默认为8080。但是VSTS / TFS将不会与代理进行通信。代理将进行通信,如果有任何作业,则将开始执行从服务器下载内容。这被称为拉模型(类似于章鱼中的触手触手)。 https://docs.microsoft.com/en-us/vsts/pipelines/agents/agents?view=vsts#communication