短暂的TFS构建代理设置

时间:2017-03-15 17:39:48

标签: .net tfs vagrant .net-core

我正在使用TFS 2017在虚拟构建代理上构建企业.net和.net核心应用程序。

我使用来自TFS本身的Vagrant创建虚拟构建代理,但需要自动安装TFS构建代理并注册到中央服务器。

最终的结果将是Ephemeral TFS Build Agents,我可以随意重建,如果它足够快就可以即时重建。

是否有人设法自动构建代理安装和注册,如果有,如何?

1 个答案:

答案 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年的文档没有详细说明这些。