Версия ревизии сборки TFS 2012 в скрипте PowerShell - PullRequest
0 голосов
/ 21 июня 2019

У нас есть экземпляр TFS 2012 и агент сборки с VS 2017. Я пытаюсь изменить шаблон сборки XAML, чтобы создать пакет nuget из заданного проекта. Я должен указать номер набора изменений в описании пакета, но не могу получить правильное значение.

У меня есть активность InvokeProcess в AgentScope моего шаблона, который запускает скрипт PowerShell для упаковки пакета. Я попытался получить переменные окружения TF_BUILD_ *, но, похоже, ни одна из них не заполнена. Я также попробовал BUILD_SOURCEVERSION без удачи. В данный момент я передаю значение BuildDetail.SourceGetVersion, но оно возвращает текущий набор изменений для всего командного проекта, а не для конкретного проекта, который я создаю.

Что я делаю не так? Эти переменные находятся только на сервере TFS, а не на агенте (сервере сборки)?

1 Ответ

1 голос
/ 24 июня 2019

Версия набора изменений сборки TFS 2012 в скрипте PowerShell

Согласно статье Хуки сценариев сборки для сборок TFS 2012 :

Когда я создавал сценарий для сборки 2013 года для версий сборок, я опирался на тот факт, что сборка 2013 года устанавливает некоторые переменные среды, которые вы можете использовать в своих сценариях. Вы видите, что я получаю $ env: TF_BUILD_BUILDNUMBER.Ну, в рабочем процессе 2012 года эти переменные не установлены, поэтому вам нужно добавить действие, чтобы сделать это .

Вот причина, по которой вы пытались получить TF_BUILD_ *Переменные окружения, но ни одна из них, похоже, не заполнена.

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

Или вы можете использовать TFS API дляполучить последний номер набора изменений в вашем контроле версий TFS:

Подробную информацию см. в этой ветке:

Программно получить последний номер набора изменений, доступный в рабочей области

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

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

...