Пользовательский счетчик не может быть установлен во время очереди в Azure DevOps Build Pipelines - PullRequest
0 голосов
/ 09 января 2020

Я установил переменную со значением пользовательского счетчика:

$[counter('myCounter', 0)]

Я использую это значение для установки Build number format на вкладке параметров:

v$(major).$(minor).$(myCounterVariable)

при первом запуске он работает нормально, значение равно 0, так как он использует счетчик. Я также установил флажок «Устанавливать во время очереди», чтобы пользователи могли перезаписывать, если они запускают конвейер сборки вручную. Однако, это не проходит.

Но что работает, если я не установил переменную на счетчике выше и установил ее в число, например 999, когда я установил ее в например, время очереди 567, оно перезаписывается 567. Это правильно.

Кажется, что счетчик не позволяет перезаписать его.

Примечание

До Рождества это работало. Интересно, произошло ли изменение в DevOps, которое убрало возможность отмены пользовательских счетчиков.

1 Ответ

1 голос
/ 10 января 2020

Пользовательский счетчик не может быть установлен во время очереди в Azure DevOps Build Pipelines

Действительно, я мог бы также воспроизвести эту проблему на моей стороне. Но я проверил два последних Sprint Updates , но не нашел никаких обновлений о счетчике, поэтому я не мог с уверенностью сказать, было ли изменение в DevOps, которое убрало возможность отмены пользовательских счетчиков.

Однако мы можем быть уверены, что пользовательский счетчик не может быть установлен во время очереди. Я обнаружил, что об этой проблеме сообщается на нашем главном форуме по проблеме продукта:

Пользовательский счетчик не может быть установлен во время очереди в Azure DevOps Build Pipelines

Заглядывая в группу продуктов, чтобы решить эту проблему как можно скорее, вы можете проверить обратную связь с этим билетом.

В качестве обходного пути для этой проблемы, мы могли бы добавить еще одну задачу inline powershell в конвейер, добавить переменную ManuallTriggerNumber и установить значение empty (также проверено значение 'Settable at флажок времени очереди):

enter image description here

Во встроенной задаче powershell мы используем Logging Command для установки номера сборки:

Write-Host "##vso[build.updatebuildnumber]v$(major).$(minor).$(ManuallTriggerNumber)"

И установите условие с помощью:

and(succeeded(), ne(variables['$(ManuallTriggerNumber)'], 'Null'))

enter image description here

В этом случае, когда мы запускаем конвейер сборки вручную, мы можем установить значение переменной ManuallTriggerNumber во время очереди встроенный PowerShell будет вызываться для обновления номера сборки на основе условия true.

Надеюсь, это поможет.

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