Đặt JENKINS_HOME trong Tomcat7?


9

Tôi đang cố gắng thiết lập Jenkins trong Tomcat7 trên Ubuntu. Tôi đã cài đặt Tomcat7 và triển khai jenkins.war, và bây giờ tôi thấy trang chủ Jenkins tại http://myhost:8080/jenkins, nhưng nó đang cố tạo thư mục Jenkins tại /usr/share/tomcat7/.jenkins, vì nó không thể vì lý do bảo mật. Tôi đã tạo /srv/jenkinsvà cấp tomcat7quyền cho nhóm và muốn đặt JENKINS_HOMEtheo đường dẫn đó. Tôi đã thử thêm nó vào cấu hình tomcat trong /etc/tomcat7/server.xml:

<GlobalNamingResources>

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

Và tôi cũng đã thử thêm nó vào tệp ngữ cảnh được tạo tự động ROOT/META-INF/context.xml(không có gì $CATALINA_HOME/confxa như tôi có thể nói).

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

Nhưng ngay cả sau khi khởi động lại tomcat7 tôi vẫn nhận được kết quả tương tự (cố gắng sử dụng /usr/share/tomcat7/.jenkins).

Tôi cần đặt biến môi trường JENKINS_HOMEở đâu trong Tomcat7?

Câu trả lời:


3

Nó không chính xác là giải pháp tôi thích, nhưng tôi đã tạo ra /usr/share/tomcat7/bin/setenv.shkịch bản như được mô tả trong catalina.sh.

#!
export JENKINS_HOME=/srv/jenkins

Và tất nhiên đã cho nó thực thi quyền với chmod ugo+x setenv.sh.


3

Tôi đặt nó vào /etc/default/tomcat7. Ví dụ của bạn, nối thêm dòng này:

JENKINS_HOME=/srv/jenkins

1

Một cách tiếp cận liên kết tượng trưng trong đó dữ liệu jenkins của tôi đi đến một hệ thống tập tin được sao lưu.

[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

Một cách đơn giản hơn là chỉnh sửa bộ mô tả ngữ cảnh của dịch vụ Tomcat ($ CATALINA_HOME / conf / config.xml) và thêm dòng folowing:

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

Đã xem trong https://wiki.jenkins-ci.org/display/JENKINS/Tomcat


0

Theo tài liệu tôi đã đọc và một vài ví dụ ở trên, Jenkins sử dụng thư mục nhà của người dùng Tomcat của bạn và tìm kiếm .jenkins trong thư mục đó. Đảm bảo thư mục chính của người dùng Tomcat của bạn được đặt thành giá trị bạn mong đợi, ví dụ / opt / apache / tomcat và tạo một liên kết tượng trưng .jenkins trong thư mục đó trỏ đến nơi thư mục Jenkins của bạn sống.

ln -s /path/to/jenkins_home /opt/apache/tomcat/.jenkins
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.