Если вы переключитесь на Apache Ivy для управления зависимостями, вы можете запустить A всякий раз, когда публикуете новую версию B (используя Jenkins Ivy Plugin ), предполагая, чтоA зависит от latest.integration
(или аналогичной) версии B.
Это не остановит A от построения против старой версии B, но, по крайней мере, будет автоматически построено снова, когда B будет завершено.
Кроме того, рассмотрите настройки до после получения хуков до запуска Дженкинса и добавления тихого периода к A. Затем, когда вы нажимаете изменения наA и B, и A, и B будут активированы сразу, но A немного подождет, прежде чем строить.Когда тихий период A истекает, можно использовать опцию Block build when upstream project is building
, чтобы заставить его ждать, пока не завершится B.
Наконец, когда вы некоторое время используете Ivy, вы, вероятно, придете ктакой же вывод, как и у многих других: вам не нужен A в зависимости от latest.integration
от B, а конкретная версия.Он допускает детерминированные сборки и упрощает настройку задания CI (сборка A только тогда, когда изменяется ее код (который включает версию B, от которой он зависит)), но вам нужно прийти к этой реализации самостоятельно, в свое время.
Кстати, несмотря на то, что Ivy очень ориентирован на Java, я очень успешно использую его в не-Java проектах;не откладывай на потом.