2015-08-07 3 views
0

Я пытаюсь запустить простую командную команду Windows (скажем, копию) на Master внутри задания, которое установлено для запуска на определенном раб.Jenkins- Как запустить командную команду на Master в задании, которое выполняется на подчиненном устройстве

Что я пытаюсь сделать, так это копирование журнала сборки, который сохраняется на главном компьютере, на общий диск, доступный от мастера. Пожалуйста, порекомендуйте.

+0

Почему бы вам просто не связать работу с мастером хорошо? – carlspring

+0

Работы строят конкретный продукт, который нуждается в конкретном программном обеспечении/приложениях/фреймворках, которые у нас есть на подчиненном устройстве, с которым он привязан. Этот раб - это выделенный компьютер для создания этой работы. – user2705120

+0

Ну, если это 'Linux' /' Unix', то просто вызовите команду над 'ssh', в противном случае вы можете установить демон SSH даже в Windows. – carlspring

ответ

0

Вам нужно будет сделать файловую систему jenkins видимой на клиенте независимо от Дженкинса. Поскольку у вас есть клиент Windows, вам, вероятно, придется настроить общий доступ от мастера Jenkins, используя samba или что-то в этом роде.

Что я вместо этого: когда мне нужны активы от мастера, я использую curl или wget для загрузки активов клиентам. Вы можете использовать плагин FSTrigger, чтобы начать сборку, когда файл будет изменен мастером Jenkins. После запуска curl или wget ваш актив находится в каталоге% WORKSPACE%, и вы можете продолжить.

+0

Спасибо за ваши предложения. Вот как я это сделал. Я сконфигурировал задание ниже по течению, которое будет выполняться на главном сервере, которое будет делать нужную мне копию. Это было самое простое решение, о котором я мог подумать ... – user2705120

0

Я бы рекомендовал обрабатывать копирование журналов (и, возможно, дальнейшие задачи) как выделенное задание (назовем его «SaveLog»). SaveLog должен быть привязан для запуска только на master. Затем вы должны настроить SaveLog для запуска после завершения основного задания. Файл журнала уже доступен на главном устройстве, даже если вы не сохраняете никаких артефактов.

Если вам нужны дополнительные файлы из рабочей области slave, вы должны сохранить их как артефакты. SaveLog (на хозяине) может затем решить, делать ли что-нибудь полезное с этими артефактами.

Смежные вопросы