Объединение встроенных артефактов в Teamcity в один почтовый индекс - PullRequest
2 голосов
/ 17 декабря 2009

Цель: настроить скрипт ant / cmd, который будет упаковывать артефакты из нескольких сборок в один zip. Я планирую сделать это, настроив окончательную конфигурацию сборки, которая будет зависеть от этих нескольких проектов.

Таким образом, все мои конфигурации сборки успешно создаются и создают артефакты сборки на сервере сборки @ .BuildServer \ system \ artifacts {PROJECT} {несколько конфигураций} .. В моей конфигурации "Агрегирование артефактов" мне нужно иметь возможность ссылаться на и где эти артефакты используют переменные, которые можно использовать в моем скрипте ant / cmd. у меня есть проект A с конфигурациями w, x и y; Как определить / построить переменные I этих конфигураций (w, x, y), на которые может ссылаться конфигурация сборки z. Я посмотрел текущую документацию Teamcity, т.е. http://www.jetbrains.net/confluence/display/TCD3/System+Properties+of+a+Build+Configuration#SystemPropertiesofaBuildConfiguration-ref;, но обнаружил, что это не решает мой запрос.

Есть ли способ настроить пути артефактов для конфигураций w, x и y, чтобы упростить конечную задачу?

Как лучше всего выполнить эту задачу? Любые идеи приветствуются.

1 Ответ

2 голосов
/ 18 декабря 2009

Вот как мы делаем это.

  1. Создание конфигурации n + 1 (ZIP_ALL) и добавление зависимости для всех n проектов. См. Триггер зависимости
  2. Создать сетевой ресурс \\ server \ Build для агрегирования результатов построения проекта
  3. ( вам нужна стратегия очистки для этой папки ) - мы просто отбрасываем все, наши товарищи по команде создают подпапки с именем SVN rev (TC устанавливает переменную со значением версии)
  4. Для каждой конфигурации создайте сценарий msbuild (или ant, или rake), который будет собирать и архивировать (если вам нужно) весь вывод из сборки
  5. Скопировать zip-файл или заполнить выходную папку в общую папку (\\ server \ Build), см. Копировать задачу
  6. Создание скрипта ant для конфигурации ZIP_ALL, который просто архивирует все файлы в общей папке
  7. Опубликуйте это в TeamCity через Публикация артефактов
...