2016-11-04 1 views
1

Вся документация по цепочкам сборки на TeamCity, а также их публикации в блогах посвящена простой установке, которая не подвергает более сложным настройкам, которые могут возникнуть в реальной жизни, что подводит меня к следующему вопросу.Почему конфигурация сборки не выполняется параллельно для цепочки сборки в TeamCity?

У меня есть необходимость еще несколько сложных установок: В идеале & B и D & E будет работать одновременно на разных узлах сборки. A--\C/--E B--/D\--F В приведенном выше бегом в сочетании & B, как это делают С & D, но С & D только срабатывает, если оба А & В проход, то же самое для E & F они работают одновременно, но только тогда, когда оба C & D проход , /-- B --\ A D \-- C --/ Идеально B & C должен работать параллельно на разных узлах.

Однако TeamCity отказывается это делать, и все сборки не могут быть последовательно на одном узле сборки, что очень раздражает, потому что он удаляет время сборки из воды.

Я пробовал различные сочетания зависимостей моментальных снимков и триггера сборки Finish, но ничего не получилось, TeamCity отказывается выполнять любые шаги параллельно.

+0

Это неожиданный. Возможно, вы настроили требования к агентам, чтобы все это зависело от одного агента? – sferencik

+0

Требования к агентам для сборки не требуются, за исключением того, что им необходимо установить Xcode. – Sauraus

+0

У вас есть как минимум 2 сборщика (узлов), подключенных к серверу? И эти узлы совместимы с вашей параллельной конфигурацией сборки? – KIR

ответ

2

Зависимости от моментального снимка в TC 10.x работают немного различающимися между шаблонами и конфигурациями сборки.

Приведенный в этом примере config, где сборка сгенерирована на D, приведет к двум различным деревьям выполнения. /-- B --\ A D \-- C --/

Если зависимости от моментальных снимков определены в шаблонах, TeamCity будет выполнять все сборки последовательно, например. А, В, С & Д.

Если зависимости снимки определены на конфигурации сборки, то TeamCity будет выполнять сборки, как А, то B & C параллельно и, наконец, D.

0

Вы должны удалить триггеры «Готовая сборка». Они не нужны для запуска цепочки зависимостей моментальных снимков. Просто запустите сборку в последней конфигурации цепочки (F или D), и все остальные сборки будут добавлены в очередь в соответствии с конфигурацией повторного использования.

+0

Я хорошо знаком с зависимостью моментальных снимков и тем, как она используется для создания цепочки сборки. Итак, давайте возьмем мой последний пример, где A -> B & C -> D, оба B & C зависят от запуска A, как я могу предотвратить TC в очереди на B & C последовательно и вместо этого запускать их параллельно? И как мне начать последнюю сборку в цепочке, если есть 2 'последних' сборки? как в моем среднем примере? – Sauraus

+0

Для случая «A -> B & C -> D'. До тех пор, пока есть четыре привязки моментальных снимков и ** нет ** готовых триггеров сборки, запуск 'D' должен стоять в очереди' A', 'B' и' C', причем 'B' и' C' выполняются параллельно после 'A 'завершено (пока доступен совместимый агент сборки). Если TeamCity ведет себя иначе, это ошибка –

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