2011-12-19 14 views
10

Phiên bản 2.15 của trình cắm thêm Jenkins Email-ext hỗ trợ thêm cho việc đính kèm tệp để tạo email thông báo. Tôi muốn có nhật ký xây dựng kèm theo để xây dựng e-mail thông báo, nhưng tôi không thể tìm ra cách thực hiện.Làm cách nào để đính kèm nhật ký xây dựng vào thông báo email với plugin Jenkins Email-ext?

Nhật ký xây dựng dường như được lưu trữ trên nút chính Jenkins (trong trường hợp này là Ubuntu Linux). Ví dụ: /var/lib/jenkins/jobs/<PROJECT_NAME>/builds/<DATE_TIME>/log. Đương nhiên, đường dẫn nhật ký xây dựng sẽ thay đổi theo mọi bản dựng. Tính năng đính kèm tệp Email-ext mặc định sử dụng các tệp từ bên trong vùng làm việc của dự án, trên máy xây dựng nô lệ Jenkins (trong trường hợp này là Mac OS X). Ví dụ, tôi đã cấu hình nô lệ của mình để sử dụng thư mục /Users/<USERNAME>/Jenkins/build_agent/workspace/<PROJECT_NAME>/.

Có cách nào để nhận Email-ext để đính kèm tệp từ hệ thống tệp của chủ, thay vì không gian làm việc trên máy xây dựng phụ không?

Cảm ơn trước bất kỳ ai có thể đưa ra một số lời khuyên. Email-ext wiki page hiện không chứa ví dụ về cách định cấu hình tệp đính kèm.

Trả lời

10

Plugin DOES hỗ trợ đính kèm nhật ký xây dựng, bạn chỉ cần chọn hộp trong cấu hình dự án.

Project Configuration for email-ext

+1

Nút này luôn tự động bỏ chọn sau khi tôi nhấp vào lưu/áp dụng. Bạn đã bao giờ gặp phải điều này chưa? Xem tại đây: http://stackoverflow.com/questions/15813494/jenkins-email-ext-attach-build-log-not-working Cảm ơn bạn –

13

Bạn chỉ có thể sử dụng mã thông báo $ {BUILD_LOG, maxLines, escapeHtml} trong phần nội dung của email để bao gồm nhật ký dựng.

Trích dẫn doc email-ext cắm (có sẵn here):

"Để xem danh sách của tất cả các thẻ email có sẵn và những gì họ hiển thị, bạn có thể nhấp vào '' (dấu chấm hỏi) liên kết với các nội dung? Tham khảo mã thông báo ở phía trên cùng của phần mở rộng email trên màn hình cấu hình dự án "

+1

Cảm ơn Vladisld. Đó là một câu trả lời hay. Tuy nhiên, tôi đã sử dụng '$ {BUILD_LOG, maxLines = 9999, escapeHtml = false}' trong nội dung Email-ext. Tệp nhật ký của tôi dài gần một nghìn dòng, vì vậy tôi muốn lấy nó ra khỏi nội dung thư và có nó dưới dạng tệp đính kèm. –

4

Sau khi ngủ về vấn đề và nghiên cứu thêm, tôi đi đến kết luận rằng Email-ext không hỗ trợ tệp đính kèm nhật ký xây dựng đến một e-mail thông báo xây dựng.

Tuy nhiên, tôi đã tạo ra một công việc lén lút để sử dụng cho đến khi một tính năng sẵn có: Tôi sử dụng mã thông báo xây dựng Jenkins để tạo lệnh thích hợp để sao chép tệp nhật ký từ máy chủ chính sang không gian làm việc của slave (xem lưu ý bên dưới).

Trong dự án, sau bước biên dịch chính, tôi đã thêm Thực thi shell bước mới để tạo lệnh scp (bản sao an toàn) thích hợp. Đây là lệnh (thay thế USER và HOSTNAME với các giá trị của riêng mình, và có thể bạn sẽ cần phải chỉnh đường dẫn đến phù hợp với máy chủ cá nhân của bạn):

scp [email protected]:/var/lib/jenkins/jobs/$JOB_NAME/builds/$BUILD_ID/log build.log 

Sau đó, trong Email-ext đính kèm lĩnh vực plugin Email-ext, tôi đã nhập:

build.log 

Bây giờ nhật ký xây dựng được sao chép từ máy chủ đến không gian làm việc của nô lệ và đính kèm để xây dựng thông báo email thông báo. Tôi đã xóa mã thông báo $BUILD_LOG khỏi mẫu nội dung thư.

Lưu ý: để sử dụng kỹ thuật cụ thể này, bạn sẽ cần phải có mật khẩu ssh được định cấu hình giữa trình điều khiển và trình chủ, có thể sử dụng cụm mật khẩu khóa OpenSSH. Nếu bạn cần trợ giúp về điều đó, hãy tìm kiếm trên web để biết thông tin về lệnh ssh-keygen và có thể kiểm tra các hướng dẫn như this one. Một cách tiếp cận tương tự nên hoạt động trên các nền tảng không có hỗ trợ tích hợp cho SSH. RoboCopy hoặc tương tự sẽ hoạt động trên các hệ thống Windows.

EDIT: Trình cắm thêm email hiện có khả năng đính kèm nhật ký xây dựng vào thông báo thông báo với hộp kiểm trên màn hình cấu hình của công việc. Xem câu trả lời của slide để biết ví dụ.

0

tôi đã nhận thấy rằng khi tôi đánh dấu vào ô để gắn xây dựng nhật ký, nó cũng unchecks sau khi tiết kiệm, tuy nhiên nó được đính kèm trong email của tôi sau khi email đã được gửi.

0

Firsl of all Bạn phải cài đặt Email Ext plugin .Sau khi cài đặt, hãy làm theo bước này.

  • Bây giờ vào 'Thêm sau xây dựng hành động’chọn Notification Email Editable và trong phần đó bạn có tùy chọn Đính kèm xây dựng Log tùy chọn .Chọn như sau trong bức tranh. enter image description here

sau khi áp dụng và lưu.Bạn chắc chắn sẽ nhận được tệp đính kèm Email đăng nhập xây dựng. Cảm ơn bạn.