Мы переходим с CruiseControl.NET в Jenkins, чтобы быть в синхронизации с партнером, поэтому у нас нет двух разных сценариев CI. Мы пытаемся настроить Jenkins на то, чтобы сделать что-то похожее на то, что мы делали CruiseControl, на котором централизованный сервер вызывал проекты (задания в jenkins) на удаленных машинах сборки.
У нас есть несколько машин для сборки, связанных с одним проектом, поэтому, когда мы строим проект с централизованного CI-сервера, он будет вызывать проекты на удаленных серверах CI. Удаленные серверы CI вытащили версию из централизованного проекта сервера CI.
В управлении CruiseCruise мы настраиваем проект, который будет выполнять forceBuild
для удаленных проектов. Проекты на машинах сборки использовали remoteProjectLabeller
для получения номера версии, чтобы они всегда находились в синхронизации.
Чтобы получить номер главной сборки:
<labeller type="remoteProjectLabeller">
<project>MainProject</project>
<serverUri>tcp://central-server:21234/CruiseManager.rem</serverUri>
</labeller>
Чтобы вызвать удаленные проекты:
<forcebuild>
<project>RemoteBuildMachineA</project>
<serverUri>tcp://remote-server:21234/CruiseManager.rem</serverUri>
<integrationStatus>Success</integrationStatus>
</forcebuild>
До сих пор в jenkins я настраивал вторичный сервер как подчиненный, используя веб-запуск java, но я не знаю, как бы я хотел, чтобы мастера jenkins вызывали настройки проектов на ведомых устройствах.
Могу ли я настроить Jenkins для вызова проектов (заданий) на ведомых устройствах?
Могу ли я заставить подчиненные вывести номер версии из мастера?
EDIT -
Позвольте мне добавить дополнительную информацию.
- Ведущие и подчиненные устройства удаленной сборки работают под управлением Windows.
- У нас был центральный мастер CruiseControl, который запускал удаленные проекты одновременно, поэтому они работали одновременно и хотели бы иметь то же самое с дженкинсами, если это возможно.