Как запустить конвейер выпуска, когда артефакты генерируются из основного кода, а не из кода shelveset в TFS 2017? - PullRequest
0 голосов
/ 10 января 2019

Я работаю над TFS 2017 и использую функцию конвейера релиза.

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

Обратите внимание: я не могу написать ne (переменные ['Build.Reason'], 'Shelveset') в задаче публикации определения сборки, поскольку тестеру, работающему вручную, нужны артефакты.

Любая помощь приветствуется

Спасибо

1 Ответ

0 голосов
/ 10 января 2019

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

В конце определения сборки создайте новое задание для «Сценарий PowerShell», а в качестве встроенного сценария укажите следующее:

Write-Host "## vso [build.addbuildtag] TriggerRelease"

Далее перейдите в Параметры управления и измените «Выполнить эту задачу» на пользовательские задачи и поместите следующее: Больше переменных можно найти здесь , это страница, которая подробно описывает другой build.reason переменные, которые доступны. Условия и способы их использования можно найти здесь

и (successeded (), in (переменные ['Build.Reason'], 'Schedule'))

...