Build 生成代理仅在特定时间段内可用
有三个生成代理可以运行我的TC配置。我只希望这些代理中的一个在白天运行构建,这样其他两个系统就可以用于手动测试。eve下午6点后,由于这些将不用于手动测试,我希望TeamCity构建在所有三个系统上运行。你知道我该怎么做吗 提前感谢。使用泳池系统: 您的池中有一个受项目影响的可用代理 在下午6点,使用teamcity构建配置,您可以执行自定义脚本,这将影响您的计算机对池使用代理的响应 早上6点,另一个脚本会将此代理影响到另一个池:不可用的代理,它不会影响任何配置 以下是teamcity资源: 在powershell中,实现的基础是: 在本例中,AgentId是您要移动的代理的id。 PoolId是目标池标识符 您可以在此URL上获取池的ID: 您可以在此URL上获取代理的ID: 下午六时开始执行: 正在运行的Powershell配置:AgentToPool.ps1 参数为-AgentId:2-PoolId:1 正在运行的Powershell配置:AgentToPool.ps1 参数为-AgentId:3-PoolId:1 上午6点执行: 正在运行的Powershell配置:AgentToPool.ps1 带有参数-AgentId:2-PoolId:2 正在运行的Powershell配置:AgentToPool.ps1Build 生成代理仅在特定时间段内可用,build,teamcity,agents,Build,Teamcity,Agents,有三个生成代理可以运行我的TC配置。我只希望这些代理中的一个在白天运行构建,这样其他两个系统就可以用于手动测试。eve下午6点后,由于这些将不用于手动测试,我希望TeamCity构建在所有三个系统上运行。你知道我该怎么做吗 提前感谢。使用泳池系统: 您的池中有一个受项目影响的可用代理 在下午6点,使用teamcity构建配置,您可以执行自定义脚本,这将影响您的计算机对池使用代理的响应 早上6点,另一个脚本会将此代理影响到另一个池:不可用的代理,它不会影响任何配置 以下是teamcity资源: 在
通过参数-AgentId:3-PoolId:2我试图寻找一个更简单的解决方案。我不是一个强力外壳专家。我现在就试试看。
#
# AgentToPool.ps1
#
Param(
[Parameter(Mandatory=$true)][string]$AgentId = "0",
[Parameter(Mandatory=$true)][string]$PoolId = "0"
)
Begin {
$username = "guest"
$password = "guest"
$serverURL = "http://teamcityURL/"
function Execute-HTTPPostCommand() {
param(
[string] $target = $null,
[string] $data = ""
)
$PostStr = [System.Text.Encoding]::UTF8.GetBytes($data)
$request = [System.Net.WebRequest]::Create($target)
$request.PreAuthenticate = $true
$request.Method = "POST"
$request.ContentLength = $PostStr.Length
$request.ContentType = "application/xml"
$request.Headers.Add("AUTHORIZATION", "Basic");
$request.Accept = "*"
$request.Credentials = New-Object System.Net.NetworkCredential($username, $password)
$requestStream = $request.GetRequestStream()
$requestStream.Write($PostStr, 0,$PostStr.length)
$requestStream.Close()
$response = $request.GetResponse()
$xmlout = ""
if($response)
{
$sr = [Io.StreamReader]($response.GetResponseStream())
$xmlout = $sr.ReadToEnd()
}
return $xmlout;
}
$data = "<agent id='$AgentId'/>"
Execute-HTTPPostCommand $serverURL/app/rest/agentPools/id:$PoolId/agents $data
}
| Id | Pool |
| 1 | Usage agents |
| 2 | Unusable agents |
| Id | Agent |
| 1 | AllDay |
| 2 | Nightly1 |
| 3 | Nightly2 |