Встановити JENKINS_HOME в Tomcat7?


9

Я намагаюся налаштувати Дженкінса в Tomcat7 на Ubuntu. Я встановив Tomcat7 і розгорнув jenkins.war, і тепер я бачу домашню сторінку Дженкінса на http://myhost:8080/jenkins, але це намагається створити каталог Дженкінса /usr/share/tomcat7/.jenkins, який він не може з міркувань безпеки. Я вже створив /srv/jenkinsі дав tomcat7групові дозволи, і хочу JENKINS_HOMEпройти цей шлях. Я спробував додати його до конфігурації tomcat у /etc/tomcat7/server.xml:

<GlobalNamingResources>

  <Environment name="JENKINS_HOME" value="/srv/jenkins"
       type="java.lang.String" override="false"/>
  <!-- Default settings -->

І я також намагався додати його до автоматично створеного контекстного файлу в ROOT/META-INF/context.xml( $CATALINA_HOME/confнаскільки я не можу сказати).

<Context path="/"
        antiResourceLocking="false" >
    <Environment name="JENKINS_HOME" value="/srv/jenkins/" type="java.lang.String"/>
</Context>

Але навіть після перезавантаження tomcat7 я все одно отримую той же результат (намагаюся використовувати /usr/share/tomcat7/.jenkins).

Де мені потрібно встановити змінну середовища JENKINS_HOMEв Tomcat7?

Відповіді:


3

Це не саме рішення, яке я віддаю перевагу, але я створив /usr/share/tomcat7/bin/setenv.shсценарій, як описано в catalina.sh.

#!
export JENKINS_HOME=/srv/jenkins

І звичайно дав йому виконувати дозволи з chmod ugo+x setenv.sh.


3

Я його встановив /etc/default/tomcat7. Для вашого прикладу додайте цей рядок:

JENKINS_HOME=/srv/jenkins

1

Символічний підхід посилання, коли мої дані-dnkins переходять до резервної файлової системи.

[root@lx08 tomcat6]# ln -s /data01/jenkins .jenkins
[root@lx08 tomcat6]# ls -la
total 12
drwxrwxr-x    3 root root   4096 Dec 27 13:00 .
drwxr-xr-x. 181 root root   4096 Dec 27 11:28 ..
drwxr-xr-x    2 root root   4096 Dec 27 11:28 bin
lrwxrwxrwx    1 root tomcat   12 Dec 27 11:28 conf -> /etc/tomcat6
lrwxrwxrwx    1 root root     15 Dec 27 13:00 .jenkins -> /data01/jenkins
lrwxrwxrwx    1 root root     23 Dec 27 11:28 lib -> /usr/share/java/tomcat6
lrwxrwxrwx    1 root root     16 Dec 27 11:28 logs -> /var/log/tomcat6
lrwxrwxrwx    1 root root     23 Dec 27 11:28 temp -> /var/cache/tomcat6/temp
lrwxrwxrwx    1 root root     24 Dec 27 11:28 webapps -> /var/lib/tomcat6/webapps
lrwxrwxrwx    1 root root     23 Dec 27 11:28 work -> /var/cache/tomcat6/work
[root@lx08 tomcat6]# pwd
/usr/share/tomcat6

[root@lx08 tomcat6]# export JENKINS_HOME=http://localhost:8080/jenkins
[root@lx08 tomcat6]# java -jar /usr/share/tomcat6/webapps/jenkins/WEB-INF/lib/jenkins-core-1.495.jar  "TestJob" echo hello
hello

1

Більш простий спосіб - відредагувати дескриптор контексту сервлета Tomcat ($ CATALINA_HOME / conf / config.xml) та додати наступний рядок:

<Context ...>
  <Environment name="JENKINS_HOME" value="/path/to/jenkins_home/" type="java.lang.String"/>
</Context>

Переглянуто на https://wiki.jenkins-ci.org/display/JENKINS/Tomcat


0

Відповідно до документації, яку я прочитав, та декількох прикладів вище, Дженкінс використовує домашній каталог вашого користувача Tomcat та шукає .jenkins у цій папці. Переконайтесь, що в домашньому каталозі користувача Tomcat встановлено значення, яке ви очікуєте, / opt / apache / tomcat, наприклад, і створіть у цій папці символьне посилання .jenkins, вказуючи на те, де живе ваша папка Jenkins.

ln -s /path/to/jenkins_home /opt/apache/tomcat/.jenkins
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.