2012-05-02 36 views
7

Học Jenkins, và cố gắng để làm cho nó để xây dựng một dự án mà kịch bản xây dựng của tôi được viết bằng python.làm thế nào để làm cho jenkins chạy một kịch bản python thực hiện một xây dựng?

./build.py -i 

Tôi đã thử sử dụng 'Execute script' và 'Execute Python script'. Dòng đầu tiên của tập lệnh là

#!/usr/bin/python 

Jenkins không phàn nàn về việc thử, có vẻ như bỏ qua cài đặt, tuyên bố xây dựng thành công ngay khi mã được kiểm tra.

Tôi đã đọc một vài danh sách thư cũ gợi ý rằng tôi sẽ phải viết một tập lệnh bash (build.sh) và gọi nó là tập lệnh python. Tôi hy vọng đó không phải là câu trả lời.

Trả lời

9

Bạn sẽ có thể sử dụng một "Execute vỏ" xây dựng bước và chỉ định /path/to/build.py -i

Tôi đoán rằng thư mục hiện hành khi công việc xây dựng chạy không phải là những gì bạn đang mong đợi. Jenkins có một biến môi trường built-in WORKSPACE được đặt thành thư mục gốc của không gian làm việc của build, do đó giả sử rằng kịch bản lệnh Python ở gốc của mã đã kiểm tra của bạn, $WORKSPACE/build.py cũng sẽ hoạt động.

+0

Đây là một phần của vấn đề của tôi. Tôi tìm thấy phần chính của câu trả lời trong [bài đăng này] (http://stackoverflow.com/questions/8851886/execute-shell-step-skipped-completely-in-jenkins) - chủ yếu là "Tôi đã chọn một" nhiều dự án cấu hình 'trong màn hình tạo công việc và vì lý do đó nó sẽ không thực thi bất kỳ kịch bản lệnh shell nào cho đến khi tôi đã định nghĩa ma trận cấu hình. " Thật không may rằng đó là một thất bại thầm lặng. Khi điều đó đã được thay đổi, tôi có thể thấy tập lệnh không thực thi được và đã sửa đường dẫn từ đó. Nó cần $ WORKSPACE/trunk/

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