Как заставить работать несколько сборок Jenkins из одного локального репозитория git?

У меня большой репозиторий GitHub, содержащий несколько битов, которые можно собрать независимо друг от друга. Если я сконфигурирую Jenkins с заданием (или двумя) для каждого из них, мне придется несколько раз извлекать гигабайты данных (по одному клону репо для каждого задания).

Это занимает как дисковое пространство, так и пропускную способность.

Я хотел бы иметь задание «Обновить локальное хранилище», которое клонирует github один раз, затем настроить каждое из заданий для клонирования себя из этого хранилища и выполнить сборку. Затем, настроив подзадачи в качестве зависимых сборок, я могу запустить «Обновить локальное репо», получить от него все последние данные из GitHub и запустить каждую из сборок.

Пока у меня работает «Обновить локальное хранилище» - он успешно клонируется, и если я перехожу в рабочую область, я вижу, что он имеет коммит HEAD origin / master.

Проблема в других заданиях - они, похоже, не собирают обновления. Вот как я настроил один из них:

Git
 Repository URL file:////Users/malcolmbox/.jenkins/jobs/Refresh Local repo/workspace
 Branches to build  master

Вместо этого обновления до последней фиксации, он застрял на несколько дней в прошлом.

Как я могу заставить его тянуть наконечник и делать правильные вещи?

Чтобы уточнить: ... / Обновить Локальное хранилище / рабочая область имеет фиксацию 6b20268389064590147d5c73d2b6aceb6ba5fe70 отправлено 28/3

Зависимая сборка после запуска сборки (предположительно, выполняющего шаг git clone / pull) извлекается на 79a25992cc192376522bcb634ee0f7eb3033fc7e, отправленной 26/3 - так что это на пару дней позади.

Ответы на вопрос(3)

Ваш ответ на вопрос