Jenkins lưu trữ các tệp cấu hình cho các công việc mà nó chạy ở đâu?


98

Tôi đang thêm tích hợp liên tục vào dự án EC2 tại nơi làm việc bằng cách sử dụng Jenkins. Bản thân máy Jenkins được lưu giữ trên một máy EC2 - một máy có thể cần được đưa vào ngoại tuyến và được đưa trở lại trên một phiên bản EC2 hoàn toàn khác tại bất kỳ thời điểm nào. Chúng tôi có một loạt tệp kê khai Con rối cho phép chúng tôi dễ dàng cài đặt lại phần mềm trên phiên bản EC2, nhưng các tệp cấu hình tùy chỉnh, như tệp cho các công việc tôi tạo trong Jenkins, sẽ bị xóa sau khi di chuyển.

Bây giờ, nếu Jenkins lưu trữ những công việc sẽ được chạy trên nó trong một tệp XML hoặc tập hợp các tệp XML ở đâu đó, tôi có thể thiết lập một hệ thống nơi các tệp đó được cam kết với máy chủ kiểm soát phiên bản và sau đó tải xuống trở lại máy chủ mới được tạo máy chủ như một phần của tệp con rối. Có ai biết những tệp này được lưu trữ ở đâu không? Tôi đã thử sao chép /var/lib/jenkins/jobs, nhưng điều đó dường như lưu trữ đầu ra của các công việc của Jenkins, không phải đầu vào.

Câu trả lời:


128

Jenkins lưu trữ cấu hình cho từng công việc trong một thư mục cùng tên trong jobs/. Tệp cấu hình công việc là config.xml, các bản dựng được lưu trữ trong builds/và thư mục làm việc workspace/. Xem tài liệu Jenkins để biết hình ảnh và các chi tiết khác.


1
Và bạn sẽ tải chúng như thế nào?
Martin

3
Nếu bạn không có quyền truy cập vào thư mục cài đặt jenkins của mình, bạn có thể tạo một công việc jenkins đơn giản và chạy một tập lệnh gắn tất cả các tệp cấu hình cho công việc: "tar -zcvf jenkins-Jobs-configs.tar.gz $ (tìm $ {JENKINS_HOME} / job -name config.xml -maxdepth 2) ". Sau đó, bạn có thể lưu trữ jenkins-Jobs-
configs.tar.gz

1
Lưu ý rằng cũng có một plugin Lịch sử cấu hình công việc có thể cho phép bạn xem cấu hình công việc hiện tại và trước đó của mình, đồng thời làm như vậy ngay từ trình duyệt web nếu bạn thích / yêu cầu quyền truy cập qua shell vào máy chủ Jenkins.
Neil

12
Bạn có thể tải xuống tệp cấu hình từ một nút Jenkins bằng cách chạy: curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml
JESii

Liệu có thể lấy config.xml khi chúng ta tạo công việc jenkins thông qua phương thức đường ống không?
Manigandan Thanigai Arasu

23

Trên Linux, người ta có thể tìm thấy thư mục chính của Jenkins đang tìm kiếm một tệp, mà trang chủ của Jenkins chứa, ví dụ:

$ find / -name "config.xml" | grep "jenkins"
/var/lib/jenkins/config.xml

cũng có thể áp dụng cho Ubuntu.
vikramvi

3
@vikramvi Ubuntu là một bản phân phối Linux. ;)
automatix

8

Jenkins 1.627, OS X 10.10.5 /Users/Shared/Jenkins/Home/jobs/{project_name}/config.xml


Cũng trên OS X 10.12.4 :-)
Marcello Romani

4

Cách tiếp cận tốt nhất là giữ cấu hình công việc của bạn trong một tệp Jenkins nằm trong quyền kiểm soát nguồn.



1

Đang thêm một số thứ liên quan đến lưu trữ tệp cấu hình jenkins.

Theo hiểu biết của tôi, tất cả các tệp cấu hình lưu trữ trong máy hoặc hệ điều hành mà bạn đã cài đặt jenkins.

Các công việc bạn sẽ tạo trong jenkins sẽ được lưu trữ trong máy chủ jenkins và bạn có thể tìm thấy config.xml, v.v., tại đây.

Sau khi cài đặt jenkins, bạn sẽ tìm thấy không gian làm việc jenkins trong máy chủ.

*cd>jenkins/jobs/`
cd>jenkins/jobs/$ls
   job1 job2 job3 config.xml ....*

Tất cả các tệp cấu hình đều lưu trữ bên trong máy chủ chủ jenkins. Đơn giản có thể nói
Prasad MCN
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.