изменение рабочей области Дженкинса в Linux - PullRequest
3 голосов
/ 27 февраля 2012

Я установил Jenkins в Linux, и я новичок в обоих. Я сконфигурировал задание с пользовательским рабочим пространством / root / xxxx (структура каталогов уже существует). Это дает мне следующую ошибку:

Building in workspace /root/bhanu
java.io.IOException: Failed to mkdirs: /root/bhanu
at hudson.FilePath.mkdirs(FilePath.java:847)

Другой вопрос: при выполнении команды copy в Execute Shell шаг сборки выдает ошибку «Отказано в доступе». Из вывода консоли команда copy работает нормально. Вот ошибка:

+ cp /home/user1/victor.war /root/apache-tomcat-6.0.29/webapps/
cp: accessing '/root/apache-tomcat-6.0.29/webapps/': Permission denied

Когда я пытаюсь установить разрешения в сценарии оболочки в Jenkins, выдается сообщение об ошибке «Отказано в доступе»:

+ chmod a+rwx /root/apache-tomcat-6.0.29/webapps/
chmod: cannot access '/root/apache-tomcat-6.0.29/webapps/': Permission denied

1 Ответ

5 голосов
/ 02 марта 2012

Попробуйте

ps aux |grep jenkins

чтобы увидеть, какого пользователя имеет процесс. В Linux jenkins использует переменную JENKINS_USER, чтобы определить, от какого пользователя он должен работать. Для стандартной установки пакета Ubuntu файл конфигурации в /etc/default/jenkins указывает пользователя в переменной JENKINS_USER.

В том же файле конфигурации вы также можете указать местоположение рабочей области по умолчанию, используя JENKINS_HOME. Убедитесь, что он принадлежит пользователю, указанному вами в JENKINS_USER, для доступа к файлам Jenkins.

Для подчиненных узлов укажите рабочее пространство по умолчанию на подчиненном компьютере в конфигурации подчиненного устройства в разделе «Управление Jenkins»> «Управление узлами»>> «Настроить»> «Удаленный корень FS». Опять же, это должно иметь права на чтение / запись / выполнение для пользователя JENKINS_USER.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...