Как найти сборки, запущенные с помощью svn commit

#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, но я хочу сделать это во время выполнения сборки.