2013-07-09 4 views
9

У меня есть несколько проектов, которые я хотел бы иметь в отдельных конфигурациях сборки с слегка различных конфигурациями:Как уменьшить дублирование аналогичных конфигураций сборки?

  • источником VCS и строить триггера (то есть с той лишь разницей, который подкаталог корневой директории проекта использовать)
  • шаги сборки (первые немногие из них точно такие же, но последние несколько могут варьироваться в зависимости от того, как юнит-тесты должны быть запущены, зависимости и т.д.)

Вот так. Я заглянул в шаблоны конфигурации сборки, но, похоже, это не позволяет гибко указывать шаги пользовательской сборки или дополнительных корней VCS.

Действительно, я просто не хочу вручную копировать (несколько) шагов сборки из нашей конфигурации сборки проекта в несколько других конфигураций и поддерживать их все, когда что-то меняется. Кажется, должно быть лучшее решение?

+0

Какую версию TeamCity вы используете? [Создать конфигурационный шаблон] (http://confluence.jetbrains.com/display/TCD8/Build+Configuration+Template) работает для меня. –

+0

@ user1177636 Да, я думаю, это закончится тем, что будет работать и для моего дела. Мне просто нужно немного обходиться с параметрами. – jwalk

ответ

3

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

Однако все это было до версии 8 была выпущена, который вводит возможность для извлечения meta-runner

Их блог from April 13, 2013 обеспечивает хороший обзор того, что они и как они отличаются от шаблонов.

Мета-бегун

Мета Runner является мощным средством обеспечения многообещающий новый способ для настройки TeamCity и делает его еще больше людей, ориентированных на. Чтобы понять это, давайте рассмотрим пример.

Представьте, что у вас есть повторная задача, используемая снова и снова в разных конфигурациях сборки. Задача определяется как один или несколько шагов сборки на основе встроенных бегунов, таких как Ant или командная строка. Скорее всего, вы захотите повторно использовать эту задачу в нескольких конфигурациях сборки. Вы не можете сделать это с помощью шаблонов, потому что шаблон заставляет вас использовать одни и те же настройки в разных конфигурациях, что не всегда возможно. Решение, которое мы предлагаем, состоит в том, чтобы извлечь Meta-runner из этих шагов, посмотреть, как он работает в примечаниях к выпуску.

Мне еще предстоит реализовать это, но я скоро его проверю. Это заставляет меня думать, что вы должны иметь возможность передать репозиторий в качестве параметра, но я не уверен.

+0

Спасибо за предложение. Я смог заставить его работать с шаблоном после небольшого взлома с параметрами сборки, но если я нахожу, что это больше проблем, чем это стоит того, это будет хорошей альтернативой, чтобы попробовать. – jwalk

+0

Некоторые примеры мета-бегунов доступны на GitHub: https://github.com/JetBrains/meta-runner-power-pack –

+0

@Pavel для обмена! – Damon

Смежные вопросы