Обновление 3:
Хорошо, игнорируйте, если это изменит чистую операцию во время очереди. Для того, что вы ищете, вы можете попробовать этот формат:
Build.Repository.Clean=$[not(eq(variables.QuickBuild,'True'))]
- Если
QuickBuild=True
, Build.Repository.Clean=False
, - Если
QuickBuild=False
, тогда Build.Repository.Clean.Clean=True
Например:
Я установил опцию clean в Get Source Step, Clean = true
Build.Repository.Clean=$(FullBuild)
FullBuild=false
Теперь, когда я ставлю в очередь сборку, попробуйте изменить FullBuild=false
во время очереди.
Как вы думаете, Build.Repository.Clean должен измениться на False, тогда операция очистки не будет выполнена. Но правда в том, что Build.Repository.Clean по-прежнему True, и очистка выполняется.
Даже вы делаете не обновлять значение FullBuild=false
в течение времени очереди, непосредственно установить значение FullBuild=false
в конвейере сборки. Это также не будет использовать.
Напротив, если вы установили Clean = false в Get Source Step. Независимо от того, какое значение вы вводите в FullBuild
или Build.Repostiory.Clean
во время построения очереди.
Оно не будет очищаться во время конвейера сборки.
Вывод: невозможно изменить операцию очистки во время очереди. Это никак не связано ни с одним выражением. Неважно, какое значение вы установите для Build.Repository.Clean
.
Обновление 2
После go через ваш вопрос и все комментарии еще раз. Кажется, ваша истинная цель - назначить чистые параметры во время очереди на основе другой настраиваемой переменной .
Поскольку вы не можете изменить Build.Repository.Clean
во время очереди. Итак, вы пытаетесь использовать этот обходной путь. Это не поддержка. Невозможно назначить параметры очистки в очереди .
Возможно, вам придется предварительно определить эту переменную в конвейере сборки.
Также взгляните на этот вопрос: Как очистить сборку с помощью автономного агента при постановке в очередь
В вашем сценарии вы можете создать два конвейера сборки как безобразный обходной путь. Один для инкрементной сборки ( Отключите опцию Очистить на шаге получения источника или используйте переменную Build.Repository.Clean
= False), а другой включите опцию Очистить.
Надеюсь, это ясно.