msbuild

Форк
0
70 строк · 2.8 Кб
1
parameters:
2
  BARBuildId: ''
3
  PromoteToChannelIds: ''
4

5
steps:
6
  - ${{ if eq(coalesce(parameters.PromoteToChannelIds, 0), 0) }}:
7
    - task: DownloadBuildArtifacts@0
8
      displayName: Download Release Configs
9
      inputs:
10
        buildType: current
11
        artifactName: ReleaseConfigs
12
        checkDownloadedFiles: true
13

14
  - task: PowerShell@2
15
    name: setReleaseVars
16
    displayName: Set Release Configs Vars
17
    inputs:
18
      targetType: inline
19
      pwsh: true
20
      script: |
21
        try {
22
          if (!$Env:PromoteToMaestroChannels -or $Env:PromoteToMaestroChannels.Trim() -eq '') {
23
            $Content = Get-Content $(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt
24

25
            $BarId = $Content | Select -Index 0
26
            $Channels = $Content | Select -Index 1             
27
            $IsStableBuild = $Content | Select -Index 2
28

29
            $AzureDevOpsProject = $Env:System_TeamProject
30
            $AzureDevOpsBuildDefinitionId = $Env:System_DefinitionId
31
            $AzureDevOpsBuildId = $Env:Build_BuildId
32
          }
33
          else {
34
            $buildApiEndpoint = "${Env:MaestroApiEndPoint}/api/builds/${Env:BARBuildId}?api-version=${Env:MaestroApiVersion}"
35

36
            $apiHeaders = New-Object 'System.Collections.Generic.Dictionary[[String],[String]]'
37
            $apiHeaders.Add('Accept', 'application/json')
38
            $apiHeaders.Add('Authorization',"Bearer ${Env:MAESTRO_API_TOKEN}")
39

40
            $buildInfo = try { Invoke-WebRequest -Method Get -Uri $buildApiEndpoint -Headers $apiHeaders | ConvertFrom-Json } catch { Write-Host "Error: $_" }
41
            
42
            $BarId = $Env:BARBuildId
43
            $Channels = $Env:PromoteToMaestroChannels -split ","
44
            $Channels = $Channels -join "]["
45
            $Channels = "[$Channels]"
46

47
            $IsStableBuild = $buildInfo.stable
48
            $AzureDevOpsProject = $buildInfo.azureDevOpsProject
49
            $AzureDevOpsBuildDefinitionId = $buildInfo.azureDevOpsBuildDefinitionId
50
            $AzureDevOpsBuildId = $buildInfo.azureDevOpsBuildId
51
          }
52

53
          Write-Host "##vso[task.setvariable variable=BARBuildId]$BarId"
54
          Write-Host "##vso[task.setvariable variable=TargetChannels]$Channels"
55
          Write-Host "##vso[task.setvariable variable=IsStableBuild]$IsStableBuild"
56

57
          Write-Host "##vso[task.setvariable variable=AzDOProjectName]$AzureDevOpsProject"
58
          Write-Host "##vso[task.setvariable variable=AzDOPipelineId]$AzureDevOpsBuildDefinitionId"
59
          Write-Host "##vso[task.setvariable variable=AzDOBuildId]$AzureDevOpsBuildId"
60
        }
61
        catch {
62
          Write-Host $_
63
          Write-Host $_.Exception
64
          Write-Host $_.ScriptStackTrace
65
          exit 1
66
        }
67
    env:
68
      MAESTRO_API_TOKEN: $(MaestroApiAccessToken)
69
      BARBuildId: ${{ parameters.BARBuildId }}
70
      PromoteToMaestroChannels: ${{ parameters.PromoteToChannelIds }}
71

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.