有兩個項目,例如: Project1和Project2。 現在在project2中,我們需要創建一個發佈定義,其中我們需要複製project1構建定義的構建輸出。
問題是我們無法在Project2版本中爲Project1構建定義提供工件。
如果我們可以從Project2訪問project1的$(Build.BuildNumber)變量,則將解析prolem。
請建議。
謝謝。
有兩個項目,例如: Project1和Project2。 現在在project2中,我們需要創建一個發佈定義,其中我們需要複製project1構建定義的構建輸出。
問題是我們無法在Project2版本中爲Project1構建定義提供工件。
如果我們可以從Project2訪問project1的$(Build.BuildNumber)變量,則將解析prolem。
請建議。
謝謝。
您可以通過REST API,簡單的步驟訪問的內部版本號:
代碼:
Param(
[string]$teamProject,
[string]$collectionURL,
[string]$buildId,
[string]$userName,
[string]$password
)
$basicAuth = ("{0}:{1}" -f $userName,$password)
$basicAuth = [System.Text.Encoding]::UTF8.GetBytes($basicAuth)
$basicAuth = [System.Convert]::ToBase64String($basicAuth)
$headers = @{Authorization=("Basic {0}" -f $basicAuth)}
$url="$($collectionURL)$($teamProject)/_apis/build/builds/$($buildId)?api-version=2.0"
Write-Output $url
Function GetBuildNumber{
$result = Invoke-RestMethod -Uri $url -headers $headers -Method Get
Write-Output $result.buildNumber
Write-Host "##vso[task.setvariable variable=anotherBuildNumber;]$($result.buildNumber)"
}
GetBuildNumber
添加PowerShell的任務,你的版本定義。
腳本文件名:[您的powershell腳本文件在工件中,例如$(System.DefaultWorkingDirectory)/PowerShellVnext/TFS2015U2Solution/PowerShellModuleProject1/RestTest.ps1];
參數:-teamProject $(teamProject)-collectionURL $(System.TeamFoundationCollectionUri)-buildId $(buildId)-userName $(用戶名)-passwor $(密碼)
之後的內部版本號值存儲在另一個生成號變量中。
您可以從相同的構建定義構建兩個項目。那麼兩者將共享相同的「環境」屬性。 –