Есть ли возможность заставить teamcity выполнить какую-либо команду перед тем, как передать необходимые данные для построения агента? - PullRequest
3 голосов
/ 02 февраля 2012

Teamcity позволяет настроить поведение агентов сборки. Но могу ли я каким-то образом выполнить какую-либо команду до того, как teamcity начнет общаться с агентами сборки после получения всех обновлений из SVN?

1 Ответ

2 голосов
/ 09 февраля 2012

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

Первый (простой, но «грязный»):

  • Поместите файл .exe в агент (ы)
  • Вставьте шаг сборки со строкой команды, которая будет генерировать xls, на первом месте в целевой конфигурации сборки.

Таким образом, итоговый рабочий процесс будет выглядеть следующим образом:

  • Агент получает обновленные данные из SVN
  • Ваш инструмент запущен и создается файл xls
  • Конфигурация сборки продолжает работать

Недостаток:

  • Вам потребуется поддерживать инструмент на всех агентах.

Второй (более сложный, но более стабильный)

  • Создание нового агента сборки (я будуназовите его xls-agent ) на одном хосте с вашим инструментом (например, на сервере, на котором размещен сам TeamCity)
  • Создайте новую конфигурацию сборки (я назову это xls -roduction ) с помощью одного шага, который запустит инструмент
  • Настройка публикации артефактов для публикации произведенных xls
  • Ограничение конфигурации xls-provider до xls-agent
  • В целевой конфигурации сборки добавьте две зависимости: снимок и артефакт на xls-продюсер .Убедитесь, что для параметра «Получить артефакты из» установлено значение «из той же цепочки»

. Таким образом, итоговый рабочий процесс будет выглядеть следующим образом:

  • xls-agent работает xls-seller с svn-ревизией X
  • целевая конфигурация загружает xls из xls-provider артефакты
  • целевая конфигурация с точно такой же версиейX
...