我正在使用TFS 2017在虚拟构建代理上构建企业.net和.net核心应用程序。
我使用来自TFS本身的Vagrant创建虚拟构建代理,但需要自动安装TFS构建代理并注册到中央服务器。
最终的结果将是Ephemeral TFS Build Agents,我可以随意重建,如果它足够快就可以即时重建。
是否有人设法自动构建代理安装和注册,如果有,如何?
答案 0 :(得分:0)
我最终通过将2017年vsts代理的下载和解压缩与注册代理结合起来实现自动化:
$VSTSAgentFileName="vsts-agent-win7-x64-2.105.7.zip"
$VSTSAgentDownloadUrl="http://yourvstsagentdownloadserver/" + $VSTSAgentFileName
$TempFolder="c:/Temp/"
$VSTSAgentDownloadPath=$TempFolder + $VSTSAgentFileName
$VSTSAgentFolder="c:/vsts_agent"
$TFSServerUrl="http://yourtfsserver:8080/tfs"
function Download-VSTSAgent{
Write-Host("Downloading: " + $VSTSAgentDownloadUrl)
Write-Host("To: " + $VSTSAgentDownloadPath)
$WebClient = new-object System.Net.WebClient
$WebClient.DownloadFile($VSTSAgentDownloadUrl, $VSTSAgentDownloadPath)
}
function Unzip-VSTSAgent{
Write-Host("Unzipping: " + $VSTSAgentDownloadPath)
Write-Host("To: " + $VSTSAgentFolder)
Add-Type -assembly "system.io.compression.filesystem"
[io.compression.zipfile]::ExtractToDirectory($VSTSAgentDownloadPath, $VSTSAgentFolder)
}
function Register-VSTSAgent{
cd $VSTSAgentFolder
& .\config.cmd --unattended --auth Negotiate --username yourdomain\yourusername --password yourpw --url $TFSServerUrl --pool yourpool
}
Download-VSTSAgent
Unzip-VSTSAgent
Register-VSTSAgent
注意:我使用了Negotiate身份验证,因为PAT不适用于我,因此您需要安全地传递Register-VSTSAgent
功能中的凭据 - 甚至更好地使用PAT身份验证。
最后,如果您想知道.\config.cmd
使用.\config.cmd --help
的命令 - 如上所述,2017年的文档没有详细说明这些。