2016-07-13 10 views
0

Я установил и настроил jenkins на centos 7. Я добавил действительный java path ie "/usr/bin/java "в файле /etc/init.d/jenkins.Дженкинс не может получить доступ к java: localhost jenkins [807]: Запуск Jenkins bash:/usr/bin/java: Разрешение отклонено

Ниже путь Java detils:

lrwxrwxrwx. 1 root root 22 Dec 24 2015 java -> /etc/alternatives/java 

Теперь о запуске «сервис Дженкинс старт» команда из суперпользователя, я получаю ниже ошибки.

● jenkins.service - LSB: Jenkins Continuous Integration Server 
    Loaded: loaded (/etc/rc.d/init.d/jenkins) 
    Active: failed (Result: exit-code) since Wed 2016-07-13 18:25:51 IST; 5s ago 
    Docs: man:systemd-sysv-generator(8) 
    Process: 807 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE) 

Jul 13 18:25:51 localhost systemd[1]: Starting LSB: Jenkins Continuous Integration Server... 
Jul 13 18:25:51 localhost runuser[812]: pam_unix(runuser:session): session opened for user jenkins by (uid=0) 
Jul 13 18:25:51 localhost jenkins[807]: Starting Jenkins bash: /usr/bin/java: Permission denied 
Jul 13 18:25:51 localhost runuser[812]: pam_unix(runuser:session): session closed for user jenkins 
Jul 13 18:25:51 localhost jenkins[807]: [FAILED] 
Jul 13 18:25:51 localhost systemd[1]: jenkins.service: control process exited, code=exited status=1 
Jul 13 18:25:51 localhost systemd[1]: Failed to start LSB: Jenkins Continuous Integration Server. 
Jul 13 18:25:51 localhost systemd[1]: Unit jenkins.service entered failed state. 
Jul 13 18:25:51 localhost systemd[1]: jenkins.service failed. 

Я не могу понять, почему это дает мне разрешение отказано даже если каждый пользователь, имеющий доступ к пути Java.

также о запуске команды «journalctl -xe» он показывает ниже журнала:

Jul 13 18:45:33 localhost systemd[1]: Unit jenkins.service entered failed state. 
Jul 13 18:45:33 localhost systemd[1]: jenkins.service failed. 
Jul 13 18:45:33 localhost polkitd[20151]: Unregistered Authentication Agent for unix-process:27889:3161602 (system bus name :1.303, object path /org/freedesktop/PolicyKit1/AuthenticationAgen 

Является ли это как что служба Дженкинс does't, имеющий разрешение на доступ к пути Java? если нет, то почему это дает эту ошибку?

+1

В файле unit jenkins.service владелец сервиса может быть определен как jenkins. несмотря на запуск от root, служба пытается работать с пользователем jenkins. Вы можете попытаться изменить 'User = root' в файле служебной единицы. – sozkul

+0

Он работал как чемпион. –

+1

Хорошо, но это лучший способ дать разрешение пользователю jenkins. Поэтому проверьте ссылку '/ etc/alternatives/java' symbol, найдите исходный путь java. Проверьте разрешения. – sozkul

ответ

4

У вас есть два варианта решения проблемы.

  1. Служба Jenkins создана пользователем jenkins. Ошибка говорит, что у пользователя jenkins нет разрешения на запуск java. Поэтому проверьте исходный путь Java и дайте разрешения на выполнение для других пользователей.
  2. В файле unit jenkins.service измените владельца сервиса. Заменить User=jenkins на User=root
+0

Не могли бы вы сообщить мне, где я могу найти файл 'jenkins.service' – Varun

1

Пользователь jenkins по умолчанию является «jenkins». Таким образом, «jenkins» может не иметь pemission для доступа к службе «java». Итак, нам нужно изменить использование служебных дженкинсов. Из сценария повышения производительности jenkins "/etc/init.d/jenkins". Мы можем получить путь к файлу конфигурации, например «/ etc/sysconfig/jenkins»