Добрый день!
Допустим, у вас есть билд-конфигурация А, которая выполняет сборку проекта и публикует результаты сборки - артефакты.
1. a. Необходимо создать билд-конфигурацию B для тестов. К этой билд-конфигурации прикрепить VCS root и настроить так, чтобы он “слушал” необходимую ветку (как это настроить, зависит от используемого VCS, для Git см.
Feature Branches).
b. Настраиваем зависимость B от A. Есть два вида зависимостей: Artifact и Snapshot Dependecny.
Artifact - обеспечивает передачу артефактов от блид-конфигурации А к B,
Snapshot Dependency - обеспечивает использование той же ревизии исходников (если репозитории разные, то берется ревизия в соответствующий момент времени). Подробное описание можно найти
здесь.
Рекомендуется настроить Artifact (с опцией
Build from the same chain)+Snapshot dependency.
c. Настраиваем
VCS trigger. Он стратует билд, когда TeamCity обнаруживает изменения в VCS root. Этот триггер необходимо настроить для конфигурации В, с опцией
Trigger a build on changes in snapshot dependencies. При этом, если закоммитить код в А, то триггер сработает и добавит в очередь сначала билд А, а потом билд В.
d. Для передачи результатов тестов в TeamCity используйте
плагин.
2. Порядок и логику вызова тестов необходимо реализовать в билд скрипте, а не с помощью TeamCity.
3. В данный момент нет возможности рестартовать отдельный тест. Есть
реквест на добавление такой функциональности.