Я не вижу ЛЕГКОГО способа сделать это, но я думаю, что есть не слишком сложный способ.
Создайте одно новое задание (в данном примере назовите его TRIGGER), которое имеет триггер сборки, который отслеживает как сервер, так и общий ресурс. Когда что-то передается (либо на сервер, либо на общий ресурс), есть задача сборки (в моем случае, возможно, Windows bat или сценарий PowerShell), которая проверит, что зафиксировано, и решит, что нужно собрать - сервер или общий ресурс. По сути, ваша логика с тремя случаями была бы обработана здесь.
Исходя из результатов, попросите задачу сборки создать / обновить два файла в рабочей области - назовите один из них BUILDSHARED.TXT, а другой - BUILDSERVER.TXT (для примера). Вы захотите изменить содержимое файла (например, сбросить в него $ BUILD_TAG), когда вы хотите перестроить этот компонент. ПРИМЕЧАНИЕ. Если вы хотите перестроить ОБА Сервер и Общий ресурс, вам необходимо указать, что Общее задание необходимо перестроить. Теперь запишите в архив эти два файла.
Измените свою общую работу, чтобы включить плагин URL Change Trigger . Настройте триггер сборки, чтобы отслеживать URL-адрес постоянной ссылки файла BUILDSHARED.TXT задания TRIGGER. При изменении отслеживаемого файла будет запущена новая сборка Shared.
Также измените совместное задание, чтобы после успешного завершения начать сборку задания сервера в нисходящем направлении. Вы можете сделать это с помощью опции «Построить другие проекты» или использовать что-то вроде моего личного фаворита, Parameterized Trigger Plugin
Наконец, измените работу сервера, чтобы использовать плагин URL Change Trigger . Установите его для отслеживания URL-адреса постоянной ссылки файла BUILDSERVER.TXT задания TRIGGER. Теперь задание сервера будет запущено, если будет выполнена фиксация на сервере или если задание общего доступа завершено.
Я думаю, это делает то, что вы хотите ...