在具有构建代理和/或部署组

时间:2018-03-19 11:57:48

标签: tfs tfs2018

我们正在使用TFS 2018内部部署。 在我们的服务器上,我们设置了一个构建代理,可以按需构建我们的项目。 在发布任务中,我已经配置了一个文件共享,我可以在其中找到我的构建。 此构建服务器还托管我们的暂存和测试网站。

现在有机会创建部署组。 部署组应该能够将构建直接部署到Web服务器。

如果我创建部署组,则会提供用于注册部署代理的脚本。

现在我的问题是:我是否必须在我的构建服务器上注册此depoyment代理,该构建服务器还承载我们的暂存网站,或者此代理是否与已注册的构建代理相同?

我是否必须注册两个代理?

如果我的说明网站在构建机器上,是否可以仅使用构建功能进行部署,还是必须设置部署组,之后我是否必须配置发布定义?

如果我必须设置部署组和版本,我是否已将构建时的发布任务从文件共享更改为服务器?

添加注册代理:

如果我尝试注册代理,我收到错误:

  

使用2个参数调用“DownloadFile”时出现异常:“请求   已中止:无法创建受保护的SSL / TLS通道。“

这是因为需要密码吗?构建代理没有这样的问题。 或者是构建代理已经使用SSL / TLS通道的原因还是这样的?

注册脚本是:

  

$ ErrorActionPreference = “停止”;如果(-NOT   ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity] :: GetCurrent()   ).IsInRole([Security.Principal.WindowsBuiltInRole]“Administrator”)){   抛出“管理员PowerShell提示符中的运行命令”};如果(-NOT   (Test-Path $ env:SystemDrive \'vstsagent')){mkdir   $ ENV:系统驱动器\ 'vstsagent'}; cd $ env:SystemDrive \'vstsagent';   for($ i = 1; $ i -lt 100; $ i ++){$ destFolder =“A”+ $ i.ToString(); if(-NOT)   (Test-Path($ destFolder))){mkdir $ destFolder; cd $ destFolder; break;}};   $ agentZip =“$ PWD \ agent.zip”;(New-Object Net.WebClient).DownloadFile(   'https://go.microsoft.com/fwlink/?linkid=867184',$ agentZip);添加类型   -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile] :: ExtractToDirectory(   $ agentZip,“$ PWD”);。\ config.cmd --departloymentgroup --agent   $ env:COMPUTERNAME --runasservice --work'_work'--url   'https://xxxxxx:1234/'--collectionname'DefaultCollection'   --projectname'ABCDEFGH' - 部署组名“DEV”; Remove-Item $ agentZip;

1 个答案:

答案 0 :(得分:0)

注册部署组时,可以在作为部署组成员的服务器上安装代理。部署组是一种特殊类型的代理池。即使计算机上已在运行另一个代理,您也必须使用提供的脚本安装代理,以便在部署组的代理池中注册代理。

部署组仅适用于版本定义 - 您必须使用"运行部署组"相。然后,您添加到部署组阶段的任务将直接在部署组中的计算机上运行。

只要属于部署组成员的计算机可以访问发布工件的文件共享,您就应该能够继续使用文件共享来存储构建工件。