Tôi muốn cấu trúc lại kịch bản đường dẫn Jenkins của mình thành các lớp để dễ đọc và sử dụng lại.Làm thế nào để trích xuất các phần của kịch bản đường ống Jenkins vào các lớp học?
Vấn đề là tôi bị ngoại lệ khi làm như vậy. Hãy xem xét một ví dụ đơn giản:
Khi tôi chạy
echo currentBuild.toString()
mọi thứ đều tốt
Nhưng khi tôi giải nén nó vào một lớp học như vậy:
class MyClass implements Serializable {
def runBuild() {
echo currentBuild.toString()
}
}
new MyClass().runBuild()
tôi nhận được một ngoại lệ:
Started by user admin
Replayed #196
[Pipeline] End of Pipeline
groovy.lang.MissingPropertyException: No such property: currentBuild for class: MyClass
Cách thích hợp để trích xuất mã đường ống vào các lớp là gì?
Cảm ơn bạn đã loại của bạn câu trả lời. Tôi đã tìm ra một vài phút sau khi đăng câu hỏi :) –
Ồ, np Tôi rất vui khi bạn giải quyết câu hỏi này;) – sshepel
Điều này dường như không hoạt động với plugin đường ống mới nhất v2.5. Ngoại lệ sau được ném 'groovy.lang.MissingPropertyException: Không có thuộc tính như vậy: tập lệnh cho lớp: MyClass' – bram