Tetapkan JENKINS_HOME di Tomcat7?

9

Saya mencoba mengatur Jenkins di Tomcat7 di Ubuntu. Saya menginstal Tomcat7 dan digunakan jenkins.war, dan sekarang saya melihat halaman utama Jenkins di http://myhost:8080/jenkins, tetapi mencoba untuk membuat direktori Jenkins di /usr/share/tomcat7/.jenkins, yang tidak bisa karena alasan keamanan. Saya sudah membuat /srv/jenkinsdan memberikan tomcat7izin grup, dan ingin mengatur JENKINS_HOMEke jalur itu. Saya sudah mencoba menambahkannya ke konfigurasi tomcat di /etc/tomcat7/server.xml:

<GlobalNamingResources>

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

Dan saya juga telah mencoba menambahkannya ke file konteks yang dibuat secara otomatis di ROOT/META-INF/context.xml(tidak ada $CATALINA_HOME/confsejauh yang saya tahu).

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

Tetapi bahkan setelah restart tomcat7 saya masih mendapatkan hasil yang sama (mencoba menggunakan /usr/share/tomcat7/.jenkins).

Di mana saya perlu mengatur variabel lingkungan JENKINS_HOMEdi Tomcat7?

C. Ross
sumber

Jawaban:

3

Ini bukan solusi yang saya inginkan, tetapi saya membuat /usr/share/tomcat7/bin/setenv.shskrip seperti yang dijelaskan dalam catalina.sh.

#!
export JENKINS_HOME=/srv/jenkins

Dan tentu saja memberikannya menjalankan izin dengan chmod ugo+x setenv.sh.

C. Ross
sumber
3

Saya mengaturnya /etc/default/tomcat7. Sebagai contoh Anda, tambahkan baris ini:

JENKINS_HOME=/srv/jenkins
Beel
sumber
1

Pendekatan tautan simbolis tempat jenkins-data saya menuju sistem file yang didukung.

[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
Bjarte Brandt
sumber
1

Cara yang lebih sederhana adalah mengedit deskriptor konteks servlet Tomcat ($ CATALINA_HOME / conf / config.xml) dan tambahkan baris berikut:

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

Dilihat di https://wiki.jenkins-ci.org/display/JENKINS/Tomcat

Joaquin
sumber
0

Menurut dokumentasi yang saya baca dan beberapa contoh di atas, Jenkins menggunakan direktori home pengguna Tomcat Anda dan mencari .jenkins di folder itu. Pastikan direktori home pengguna Tomcat Anda diatur ke nilai yang Anda harapkan, / opt / apache / tomcat misalnya, dan buat symlink .jenkins di folder yang menunjuk ke tempat folder Jenkins Anda tinggal.

ln -s /path/to/jenkins_home /opt/apache/tomcat/.jenkins
dragon788
sumber