2016-02-26 8 views
2

Я сконфигурировал рабочую систему Jenkins с одним ведущим и двумя подчиненными. Каждое задание привязано к определенному узлу. Некоторые задания запускают другие, и им нужна информация о первых.Как задание может получить доступ к диску на узле, другое задание сопоставлено раньше?

E.g. Задание A построено на узле A, создает представление моментального снимка (Clearcase) и соединяет его с приводом r :. Затем он запускает работу B, которая также построена на узле A, и должна использовать данные представления. Поскольку возникла проблема с доступом к Clearcase, ведомые Jenkins (службы Windows) регистрируются как существующее имя пользователя, а не как пользователь системы по умолчанию.

Я думал, что работа B должна иметь доступ к приводу r: \, поскольку задание A и задание B находятся на одном узле с тем же сервисом и пользователем. Но хотя работа A создала и отобразила все правильно, и я могу видеть эти файлы при входе на сервер вручную, задание B не может найти файлы.

Где ошибка? Возможно ли, что задание может получить доступ к диску, на котором сопоставлено другое задание?

Спасибо за каждый намек и помощь.

Sarah

+0

Похоже на вопрос X-Y. Почему бы не подключиться к диску в каждой работе? Накладных расходов нет. Постоянное сопоставление драйверов может помочь: http://serverfault.com/questions/426288/permanently-mount-network-share-without-the-need-for-log-on-windows – Jayan

+0

Хорошо, я попробую. Но я до сих пор не понимаю. Сервер (узел A) всегда работает и подключается к ведущему устройству. Служба Windows не останавливается между заданиями. Разве это не сервис, который входит в систему, а не каждую работу? Когда я попытался сменить системного пользователя на другого пользователя, у меня уже возникла проблема с тем, что служба не запустилась снова, когда я остановился и перезапустил мастер. Я начал работу очень часто, но ничего не изменилось. Мне пришлось перезапустить службу Windows на узле явным образом, а затем он использовал новые данные журнала. Так что я действительно запутался ... –

+0

Не могли бы вы настроить ведомые без обслуживания. , – Jayan

ответ

1

Jenkins позволяет использовать разные типы подчиненных устройств. Когда вы запускаете подчиненное устройство как службу, процесс имеет другой сеанс. Диски, сопоставленные в других сеансах, не будут применяться к нему.

Вы можете запускать ведомое устройство jenkins в других режимах, таких как "Swarm plugin", работая command на подчиненной машине (JNLP).

+0

Выполнение команды на подчиненной машине (JNLP) работало для меня. Большое спасибо. –