つまり、要件は、最新のWindows Updateやその他のパッチが適用された後に、最新のリリースされたソフトウェアをビルドしてインストールできることを確認することです。したがって、ビルドサーバーVMはこの目的のためだけに構成され、ビルドは更新後にのみ実行する必要があります。
このような更新の後には通常再起動が続くため、ビルドと展開をトリガーするサーバー再起動イベントについて考えています。そのようなオプションはTFS2017に存在しますか?
TFSを介してそれを行う方法がない場合は、起動時に実行されるPowerShellスクリプトが機能するはずです。
それを実現するためのそのような組み込み関数はありません。ただし、起動時に実行されるPowerShellスクリプトを作成すると機能するはずです。Jessehouwingが言ったのと同じように、あなたがスクリプトを作成することができますREST APIを構築するトリガーに。
特定のビルド定義をトリガーするスクリプトを作成します。(サンプル以下の参照)
起動時にスクリプトを実行します。
Param(
[string]$collectionurl = "http://server:8080/tfs/DefaultCollection",
[string]$projectName = "ProjectName",
[string]$keepForever = "true",
[string]$BuildDefinitionId = "34",
[string]$user = "username",
[string]$token = "password"
)
# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
function CreateJsonBody
{
$value = @"
{
"definition": {
"id": $BuildDefinitionId
},
"parameters": "{\"system.debug\":\"true\",\"BuildConfiguration\":\"debug\",\"BuildPlatform\":\"x64\"}"
}
"@
return $value
}
$json = CreateJsonBody
$uri = "$($collectionurl)/$($projectName)/_apis/build/builds?api-version=2.0"
$result = Invoke-RestMethod -Uri $uri -Method Post -Body $json -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加