Я использую TeamCity 2018.1. Кажется, я нигде не могу найти ответ на этот сценарий. Я нашел похожие вопросы, но они не касаются именно того, чего я пытаюсь достичь: здесь и здесь
Я хочу следующий поток в TeamCity
1 -> 2.1 -> 3
1 -> 2.2 -> 3
1 -> 2.3 -> 3
2.4 -> 3
2.x развертывает различные сервисы в тестовой среде, и 3 запускает дымовые тесты в тестовой среде, поэтому нам не нужно многократное их выполнение. Если 1 сработал, это именно то, что происходит, если использовать Finish Build Trigger. Это приводит к загромождению наших каналов, и в результате мы получаем тестовые запуски, в которых служба развернута в середине выполнения, чего нам абсолютно необходимо избегать.
Требования следующие:
- Я хочу, чтобы 3 запускались каждый раз, когда завершается 2.x, НО я не хочу, чтобы несколько сборок запускались 3, как в случае, когда 1 запускается первым.
- Я также хочу, чтобы 3 запускалось, когда в его ветви по умолчанию происходит проверка.
- Триггеры на 3 не должны строить ничего раньше в цепочке сборки. Это дорогостоящая операция, которая может сбить с толку наши результаты в наших тестах дыма (произошел сбой из-за изменения тестов или из-за того, что мы развернули обновленный код?)
Я был убежден, что зависимости моментальных снимков могли бы решить эту проблему, но это не работает так, как я хочу. Кажется, он не запускает 3, когда любой 2.x завершается успешно. Кроме того, я абсолютно не хочу, чтобы 1 или 2.x срабатывали, когда 3 запускается изменением VCS, что, кажется, происходит много независимо от «использования подходящего варианта сборки».
Кроме того, 1, 2.x и 3 запускаются из разных репозиториев, поэтому они не имеют общих корней VCS. Все сборки 2.x также являются разными репозиториями. У нас нет артефактов, которые можно было бы передать.
Как мне добиться этого рабочего процесса?
Редактировать: Возможно ли это, добавив фиктивную конфигурацию сборки перед выполнением моего теста?