Как обеспечить, чтобы команды города строили конфигурации для одного и того же проекта в определенном порядке? - PullRequest
1 голос
/ 15 мая 2009

Моя настройка: один проект с двумя конфигами сборки ("ci" и "reset dbs")

  • "ci" - это просто обычная сборка ci проекта

  • «reset dbs» использует ту же VCS, но только запускает сборки в папке «common \ database» (выполняет сброс баз данных, необходимых для тестов) (шаблон триггера: +: Общий / База данных / **)

Теперь - я хотел бы, чтобы при проверке содержимого в папке «database» - сборка «reset dbs» всегда выполнялась ДО обычной сборки «ci».

Что я сделал сейчас, так это установил период тишины сборки "ci" равным интервалу опроса для VCS - что ДОЛЖНО дать мне, что "reset dbs" всегда запускается первым, верно?

Кажется, что работает до сих пор (несколько тестовых коммитов) - но я хочу, чтобы это было полностью исправлено.

Есть ли лучший способ сделать это?

Я вижу еще один способ сделать это - скопировать конфигурацию "ci" и получить один из них с именем "ci after reset", который запускается после сборки сброса. И затем пусть обычная "ci" исключает папку "database". Похоже на взлом.

Спасибо!

Обновление: вся идея состоит в том, чтобы не запускать «reset dbs» при каждом коммите, а просто при необходимости - и в этом случае он должен запускаться перед сборкой «ci». Спасибо за ответы до сих пор!

Ответы [ 3 ]

1 голос
/ 28 мая 2009

Я не знаю, решает ли это это, но есть вкладка, называемая зависимостями, при запуске сборки. Там вы можете выбрать сборку, которая должна быть запущена до текущей сборки.

1 голос
/ 21 декабря 2012

В последних версиях teamcity вы можете настроить приоритеты сборки. Это может решить вашу проблему следующим образом:

  1. Установите «ci» и «reset dbs» для запуска, когда они должны использовать шаблоны триггеров сборки (как вы, кажется, уже делаете). Триггеры должны указывать, что изменения в папке «база данных» запускают обе конфигурации.

  2. Перейдите в Очередь сборки -> Настроить приоритеты сборки. Теперь отдайте больший приоритет "reset dbs".

1 голос
/ 28 мая 2009

Вы можете настроить конфигурацию «reset dbs» так, чтобы она запускалась при регистрации (по умолчанию), и чтобы конфигурация «ci» запускалась при завершении конфигурации «reset dbs» (называемой триггером «зависимость»).

...