Невозможно определить, какой агент будет использоваться для какой конфигурации сборки в параллельных сборках с несколькими конфигурациями - PullRequest
0 голосов
/ 02 октября 2018

Мы используем мультиконфигурацию в соответствии с переменной BuildConfiguration и запускаем выпуск и отладку параллельно с Clean: false в одной из наших сборок.В очереди агентов у нас есть два агента, которые удовлетворяют требованиям для этого конкретного определения сборки.

Проблема в том, что агенты не могут быть установлены в этой сборке.

Вот почему вы не можетескажем наверняка, что отладка всегда будет построена на агенте x и выпуск на агенте y.Если теперь, когда релиз на агенте x построен, то файлы там и не будут удалены.Если это заставит его скопировать что-то поверх него при заполнении перетаскивания, тогда «устаревшие» файлы окажутся там.

Одним из вариантов будет «Очистить: все», но мы не хотим пропустить инкрементный режим.

Есть ли решение этой проблемы?

1 Ответ

0 голосов
/ 02 октября 2018

Нет, ваш сценарий просто не поддерживается.Вы можете обойти это, имея одну очередь / набор тегов, чтобы в основном иметь группу ОДНОГО агента, но это так.

В противном случае вы просто выходите за рамки.Задачи агентов должны быть автономными.CLean all = false, как предполагается, является чисто настройкой производительности (не нужно компилировать вещи, не измененные и т. Д.), НЕ ДОЛЖЕН позволять ссылкам последующих заданий ссылаться как состояние, в котором агент оставил другое задание.

Что я делаюв некоторых сценариях, таких как использование моего собственного файлового сервера в качестве буфера.Учитывая, что мои агенты работают локально и имеют ОЧЕНЬ высокоскоростное соединение (200 гигабит на сервер), я могу просто переместить скомпилированные результаты в буферную папку и обратно с практически нулевыми издержками (как в случае: нулевые накладные расходы).Особенно в работе с несколькими агентами, которая действительно помогает (загрузка тестов селена 16 раз для 16 агентов - нет, спасибо).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...