Параметры переменной времени очереди не перезаписывают выражение по умолчанию - PullRequest
0 голосов
/ 11 февраля 2020

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

Вот определенная переменная:

1]

Когда я установить переменную во время очереди, значения вычисляются:

2]

И переменные времени очереди находятся:

3]

Но когда я go для доступа к значению с этим:

4]

Значение ложно:

5]

Я делаю что-то не так или вы ожидаете, что переменные времени в очереди будут функционировать не так, как они рассчитаны? Я думал, что они переопределяют исходные значения, определенные в конвейере.

1 Ответ

0 голосов
/ 11 февраля 2020

Я думал, что они переопределяют исходные значения, определенные в конвейере.

Да, исходные значения переменных переопределяются во время очереди.

Согласно imgs вы показали, что IsProductionRelease рассчитывается как 'False', которое также генерируется в вашем скрипте powershell, это означает, что ваша переменная времени в очереди работает правильно, единственная другая часть находится в вашей третьей img, она почему-то меняется на 'true' .

Я создал демонстрацию, к которой вы можете обратиться:

SourceBranch настроен на ветку master:

enter image description here

Переменная IsProductionRelease:

enter image description here

В первом тесте значение переменной не изменилось:

Variables:
  IsProductionRelease:
    Parsing expression: <startsWith(variables['Build.SourceBranch'],'refs/heads/release')>
    Evaluating: startsWith(variables['Build.SourceBranch'], 'refs/heads/release')
    Expanded: startsWith('refs/heads/master', 'refs/heads/release')
    Result: 'False'

И PowerShell также возвращает значение False:

Is Producetion Release = False

Во втором тесте измените значение IsProductionRelease на $[startsWith(variables['Build.SourceBranch'],'refs/heads/master')]:

enter image description here

Расчетный результат:

Variables:
  IsProductionRelease:
    Parsing expression: <startsWith(variables['Build.SourceBranch'],'refs/heads/master')>
    Evaluating: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
    Expanded: startsWith('refs/heads/master', 'refs/heads/master')
    Result: 'True'

И PowerShell возвращает 'True'

Is Producetion Release = True

Пожалуйста, проверьте ваш весь процесс снова.

...