2016-05-23 32 views
5

Tôi muốn kiểm tra hoặc nhận thông báo về lỗi thăm dò SCM trong Jenkins (ví dụ: khi URL của kho lưu trữ đã thay đổi hoặc nhánh đã bị xóa). Tôi nghĩ về những:Thông báo về/kiểm tra thất bại SCM trong Jenkins

a) Một giao diện điều khiển kịch bản Jenkins, mà sẽ liệt kê các công việc bị lỗi như vậy

b) Cấu hình/cài đặt plugin cho Jenkins để thông báo cho tôi bằng cách nào đó về thực tế là (e-mail, bất cứ điều gì)

c) Tập lệnh ngoài/tệp thực thi (bash, python, ...), liệt kê các bản dựng không thành công trong X giờ qua do lỗi thăm dò SCM

+1

[Câu trả lời này] (http://stackoverflow.com/questions/18277720/email-notification-for-subversion-polling-failures-in-jenkins) dành cho SVN, nhưng tôi nghĩ nó cũng áp dụng trong trường hợp này . – approxiblue

Trả lời

1

Như bạn đã đề cập trong câu hỏi, một cách để giải quyết vấn đề này bằng cách sử dụng tập lệnh. Ví dụ: Groovy Postbuild.

Kể từ khi tập lệnh Groovy Postbuild chạy trên máy chủ, bạn có thể truy cập vào scm-polling.log được tìm thấy trên hệ thống tệp bằng các hàm IO chuẩn.

Ví dụ, giả sử một bậc thầy Windows, đây là một số (chưa được kiểm tra) giả để cung cấp cho bạn một số ý tưởng:

def error = false; 
def jobsDirectory = new File("C:\\Jenkins\\jobs"); 
jobsDirectory.eachFile { 
    def pollingLog = new File(it.path + "\\scm-polling.log"); 
    if(pollingLog.text =~ "ERROR") 
    { 
     manager.listener.logger.println(it.path + " has polling errors."); 
     error = true; 
    } 
} 

if(error) { 
    manager.build.buildFailure(); 
} 

Một khi bạn đã đánh dấu sự xây dựng như thất bại, bạn có thể sử dụng chức năng email tiêu chuẩn Jenkins gửi email hoặc định dạng email để đẹp hơn bằng cách sử dụng Email-ext plugin.

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