Невозможно обновить переменные в сценарии PowerShell файла yml Azure Devops

Я просмотрел официальный документ Microsoft и попробовал именно то, что там определено. Пробовал и Write-Host, и echo, но обновить переменные все равно не удалось.

Вот ссылка: https://learn.microsoft.com/en-us/azure/devops/pipelines/process/set-variables-scripts?view=azure-devops&tabs=powershell

Но добиться этого не удалось.

variables:
- name: majorVersion
  value: "0"
- name: minorVersion
  value: "0"
- name: patchVersion
  value: "0"
- name: counterNumber
  value: "0"
- name: update
  value: false


jobs:
- job: Build
  pool:
    vmImage: 'windows-latest'
  steps:
  - powershell: |
          
          echo "##vso[task.setvariable variable=update]true"
          Write-Host "##vso[task.setvariable variable=majorVersion;]$versionParts[0]"
          Write-Host "##vso[task.setvariable variable=minorVersion;]$versionParts[1]"
          Write-Host "##vso[task.setvariable variable=patchVersion;]$patch"
        
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Обратитесь к этому документу: Установка переменных в скриптах

Сценарий в вашем конвейере может определить переменную, чтобы ее можно было использовать на одном из последующих шагов конвейера.

Когда вы используете команду для обновления переменных конвейера, она не будет работать для текущей задачи, но значения можно использовать в следующих задачах.

Вот пример обновления переменных и использования их в следующих задачах:

variables:
- name: majorVersion
  value: "0"
- name: minorVersion
  value: "0"
- name: patchVersion
  value: "0"
- name: counterNumber
  value: "0"
- name: update
  value: false


jobs:
- job: Build
  pool:
    vmImage: 'windows-latest'
  steps:
  - powershell: |
          $versionParts = @(1,2)
          $patch = 3
          $major = $versionParts[0]
          $minor = $versionParts[1]
          echo "##vso[task.setvariable variable=update]true"
          echo "##vso[task.setvariable variable=majorVersion;]$major"
          echo "##vso[task.setvariable variable=minorVersion;]$minor"
          echo "##vso[task.setvariable variable=patchVersion;]$patch"
    displayName:  Update Variable 
  - powershell: |
          echo $(update)
          echo $(majorVersion)
          echo $(minorVersion)
          echo $(patchVersion)
    displayName:  Use Variable 

Результат:

Другие вопросы по теме

Похожие вопросы