Поделиться через


Выполнение скрипта в процессе сборки

Шаблон по умолчанию Team Foundation Build (TFBuild) предоставляет основные возможности, необходимые большинству команд для сборки и тестирования их приложения. Тем не менее большинство проектов программного обеспечения достаточно уникальны, чтобы командам требовалось добавлять собственную бизнес-логику. Разработка и поддержка пользовательского процесса сборки может быть сложной и дорогостоящей задачей. Однако в этом нет необходимости, если требуется лишь выполнить скрипт PowerShell или пакетный файл (BAT-файл) до или после того, как система скомпилирует или проверит код.

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

Выполнение скриптов в процессе сборки

Параметры скриптов в шаблоне по умолчанию

Можно использовать шаблон по умолчанию для выполнения скриптов PowerShell и пакетных файлов (.bat) до и после компиляции кода и до и после запуска тестов.

Прежде чем скрипт можно будет выполнить в процессе сборки, его необходимо отправить.

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

Пример перед сборкой: задайте версию своих сборок

Хотя перед компиляцией кода с помощью MSBuild может потребоваться выполнить множество задач, одной из самых распространенных задач может быть применение версии к сборкам.

ApplyVersionToAssemblies.ps1

Пример после сборки: подготовка двоичных файлов к поэтапному использованию

При определении параметру Местоположение выходных файлов значения AsConfigured TFBuild передает вам управление тем, какие двоичные файлы сбрасываются. В этом случае TFBuild компилирует двоичные файлы и оставляет их в исходном каталоге, организованном в целом так же, как если бы вы использовали Visual Studio для локальной компиляции на компьютере разработчика. Следующий скрипт собирает некоторые из типовых двоичных типов из типовых расположений и копирует их в папку, из которой TFBuild копирует и помещает их в ваше расположение промежуточного хранения.

GatherItemsForDrop.ps1

Вопросы и ответы

В. Система заблокировала мои действия, поскольку у меня нет разрешения.Как его получить?

О. См. раздел Справочник по разрешениям Team Foundation Server

В. Какие переменные среды доступны для моего скрипта?

О. См. раздел Получение данных из переменных среды TF_BUILD

В. где можно получить дополнительные сведения о разработке скриптов?

О. См. проверенный ответ: выполнение скриптов в процессе Team Foundation Build

В. могу ли я выполнять команды управления версиями?

О. Да. Ниже приведен пример, демонстрирующий, как извлечь и вернуть файл:

& ($env:VS120COMNTOOLS + "..\..\common7\ide\tf.exe") checkout $file

& ($env:VS120COMNTOOLS + "..\..\common7\ide\tf.exe") checkin $file /comment:" Checked in by build process script. ***NO_CI***" /noprompt

В. где можно получить скрипты?

См. раздел Расширения сборки сообщества TFS.

В. Скрипты не обеспечивают мне достаточный контроль.Что можно сделать?

См. раздел Настройка шаблона процесса сборки.