Другая возможность: вы можете добавить в конфигурацию B некоторый сценарий оболочки, который запускает A вручную, если только эта сборка не была вызвана A.
Сначала проверьте, что вызвало сборку.Я не уверен, есть ли «правильный» способ получить эту информацию, но вот один из способов.Прочитайте файл build.xml (в файле jobname / builds / jobnumber /) и найдите следующее:
Инициировано SCM:
<hudson.model.CauseAction>
<causes>
<hudson.triggers.SCMTrigger_-SCMTriggerCause/>
</causes>
</hudson.model.CauseAction>
Инициировано другим заданием:
<hudson.model.CauseAction>
<causes>
<hudson.model.Cause_-UpstreamCause>
<upstreamProject>agp_lib_V5</upstreamProject>
It goes further than this but that's all you need.
Как только вы узнаете, что вызвало сборку B, вы можете либо запустить сборку A и выйти (для сборок, запускаемых SCM), либо продолжить сборку в обычном режиме (для сборок, запускаемых восходящим потоком).
Это не красиво, но это может сработать.