Мы переходим с CruiseControl.NET на Jenkins просто для синхронизации с партнером, чтобы у нас не было двух разных сценариев CI. Мы пытаемся настроить Jenkins для выполнения чего-то похожего на то, что у нас было в CruiseControl, когда централизованный сервер запускал проекты (задания в jenkins) на удаленных машинах сборки.
У нас есть несколько машин для сборки, связанных с одним проектом, поэтому, когда мы создаем проект с централизованного сервера CI, он будет вызывать проекты на удаленных серверах CI. Удаленные серверы CI получат версию из проекта централизованного сервера CI.
В CruiseCruise control мы настраиваем проект, который будет выполнять 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 для вызова проектов (заданий) на подчиненных устройствах?
Могу ли я заставить ведомые устройства вытаскивать номер версии из ведущего устройства?
ИЗМЕНИТЬ -
Позвольте мне добавить дополнительную информацию.
- Ведущее устройство и ведомые устройства удаленной сборки работают под управлением Windows.
- У нас был центральный мастер CruiseControl, который запускал удаленные проекты в одно и то же время, поэтому они выполнялись одновременно и хотели бы, чтобы то же самое было с jenkins, если это возможно.