2011-09-02 30 views
10

Hy vọng bạn có thể giúp tôi về điều này. Tôi có một công việc gọi là "Template" để tạo ra một tệp template.xml. Tôi có một số công việc khác sử dụng tệp template.xml này. Tuy nhiên, trước khi họ xây dựng, tôi muốn họ có thể kéo template.xml mới nhất từ ​​không gian làm việc "Mẫu".Kéo tệp từ công việc khác trước khi xây dựng trong Jenkins?

Trả lời

4

Trong công việc Template của bạn, bạn có thể lưu trữ các tập tin template.xml như một artifact, sau đó nó sẽ có sẵn cho các công việc khác của bạn tại một URL tương tự như sau:

http://myserver/jenkins/job/myjob/lastSuccessfulBuild/artifact/template.xml 
+0

Tôi đã kết thúc bằng cách sử dụng wget để lấy tệp từ không gian làm việc ... đây có phải là thực tiễn không tốt? – Marx

+4

Hai rủi ro khi kéo nó khỏi vùng làm việc: 1) một người có quyền thích hợp có thể nhấp vào liên kết "Xóa sạch không gian làm việc" và xóa tệp; 2) một bản dựng có thể không thành công hoặc không có tệp hoặc tệp không sử dụng được. Kéo tệp từ các tạo phẩm đã lưu trữ sẽ luôn lấy cho bạn tệp từ bản dựng thành công cuối cùng. – highlycaffeinated

22

Trong "mẫu" của bạn công việc, theo Hành động sau khi xây dựng, chọn tạo tệp xml của bạn bằng tùy chọn lưu trữ.

Sau đó, bạn có thể sử dụng "Copy Artifact Plugin" để sao chép nó sang tất cả các công việc khác.

Jenkins Job Setup for Artifact Generator Project: enter image description here

Jenkins Job Setup for Artifact User Project: enter image description here

+0

Tôi đã kết thúc bằng cách sử dụng wget để lấy tệp từ không gian làm việc ... đây có phải là một thực tế không tốt? – Marx

+0

Xem nhận xét của highcaffeinated dưới đây. Để thêm vào đó, bạn đang hạn chế bản thân để sử dụng nô lệ Linux (có thể không phải là một vấn đề, một cái gì đó để suy nghĩ về mặc dù). Ngoài ra, lưu trữ cho phép bạn liên kết các tệp mẫu khác nhau với các bản dựng khác nhau của các công việc khác (sử dụng vân tay). – Sagar

+0

chính xác những gì tôi đang tìm kiếm. cảm ơn. – pess0a

0

Cuối cùng tôi, tôi sử dụng một cách tiếp cận khá strainghforward. Tôi chạy Jenkins trong một bố cục thông thường (ubuntu 16.04 server) và tôi cần gọi maven checkstyle cắm sử dụng cùng một tập tin cấu hình checkstyle.xml cư trú bên trong một công việc dev-nguồn:

enter image description here

Thần I gọi mvn checkstyle :

enter image description here

Hy vọng nó có thể hữu ích cho người khác.

Các vấn đề liên quan