Build.SourceVersion is blank in VSO vNext Build

前端 未结 3 1253
耶瑟儿~
耶瑟儿~ 2020-12-11 04:00

I am using the new scriptable build features in Visual Studio Online (not the XAML build definitions), and I am trying to have the build version number include the latest Gi

3条回答
  •  粉色の甜心
    2020-12-11 04:21

    I'm afraid it is not able to use $(SourceVersion) in the build number format. However, I think you can use PowerShell to change build number to be $(SourceVersion), and you need to include the PowerShell in your build process. Check this link for the details.

    And you can define the PowerShell to be similar to:

    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.WorkItemTracking.Client")
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Client")
    [System.Reflection.Assembly]::LoadWithPartialName("System.Net")
    
    [String] $CollectionUrl = "https://vsoserver.visualstudio.com/defaultcollection"
    [String] $BuildUrl = $env:BUILD_BUILDURI 
    
    $netCred = New-Object System.Net.NetworkCredential("username","password")
    $basicCred = New-Object Microsoft.TeamFoundation.Client.BasicAuthCredential($netCred)
    $tfsCred = New-Object Microsoft.TeamFoundation.Client.TfsClientCredentials($basicCred)
    
    
    $teamProjectCollection = New-Object Microsoft.TeamFoundation.Client.TfsTeamProjectCollection($CollectionUrl,$tfsCred)
    
    $buildServer = $teamProjectCollection.GetService([type]"Microsoft.TeamFoundation.Build.Client.IBuildServer")
    
    $buildDetail = $buildServer.GetBuild([Uri]$BuildUrl)
    
    $buildDetail.BuildNumber = $Env:BUILD_SOURCEVERSION 
    
    $buildDetail.KeepForever = $true
    $buildDetail.Save()
    

提交回复
热议问题