#svn #teamcity
#svn #teamcity
Вопрос:
Я довольно новичок в Teamcity. У меня есть настройка проекта в Teamcity с более чем 100 конфигурациями сборки, многие из которых зависят друг от друга. Я создаю исполняемый файл установки для проекта из всех этих конфигураций сборки.
Учитывая сценарий, в котором происходит обновление продукта и изменяется только несколько компонентов, мне нужны только те измененные компоненты в настройке. Я хочу идентифицировать сборки, запускаемые из-за коммитов SVN, а не с помощью триггеров зависимостей. Я хочу использовать артефакты только из триггеров сборки SVN.
Есть ли способ, с помощью которого я могу найти сборки, запущенные с помощью SVN commit, и включить только эти сборки в программу установки для создания исполняемого файла?
Ответ №1:
Я нашел способ выяснить, как запускается сборка. Вы можете сделать это с помощью параметра teamcity.build.triggeredBy
. Я добавил следующий Command Line
шаг сборки. Следующий код проверит, была ли сборка запущена с помощью SVN Commit.
IF "%teamcity.build.triggeredBy%" == "Subversion" (
FOR %%I IN (%system.paths.artifacts%) DO COPY %%I %system.out.artifacts% /y
)
Вам нужно будет определить system.paths.artifacts
as System Properties
. Ниже приведены несколько примеров.
- «binReleaseMyDLL.dll » «binReleaseMYDLL.dll.config» «binReleaseMYEXE.exe «
- «C:OutputMyDLL.dll » «C:OutputMYDLL.dll.config «
- «……OutputMyDLL.dll » «……OutputMYDLL.dll.config» «……OutputMYEXE.exe «
Также определите system.out.artifacts
, какой каталог назначения, в который вы хотите скопировать артефакты. Примеры
- «C:TempSetup «
Ответ №2:
Если это одноразовый поиск, вы можете перейти на страницу аудита (Администрирование -> Аудит) и выяснить, какие сборки запускаются с помощью SVN commits, а не триггеров зависимостей.
Комментарии:
1. Спасибо Biswajit_86, но я хочу сделать это во время выполнения сборки.