Đây là một câu hỏi hơi vô ích, nhưng đầu ra của BuildBot không đặc biệt tốt để xem ..
Ví dụ, so với ..
.. và những người khác, BuildBot trông khá .. cổ xưa
Tôi hiện đang chơi với Hudson, nhưng nó rất tập trung vào Java (mặc dù với hướng dẫn này , tôi thấy việc cài đặt dễ dàng hơn BuildBot và tạo ra nhiều thông tin hơn)
Về cơ bản: có bất kỳ hệ thống Tích hợp liên tục nào nhắm vào python, tạo ra nhiều biểu đồ sáng bóng và lượt thích không?
Cập nhật: Kể từ thời điểm này, dự án Jenkins đã thay thế Hudson thành phiên bản cộng đồng của gói. Các tác giả ban đầu đã chuyển đến dự án này là tốt. Jenkins hiện là gói tiêu chuẩn trên Ubuntu / Debian, RedHat / Fedora / CentOS và các gói khác. Bản cập nhật sau đây về cơ bản vẫn đúng. Điểm khởi đầu để làm điều này với Jenkins là khác nhau.
Cập nhật: Sau khi thử một vài lựa chọn thay thế, tôi nghĩ rằng tôi sẽ gắn bó với Hudson. Liêm chính là tốt đẹp và đơn giản, nhưng khá hạn chế. Tôi nghĩ Buildbot phù hợp hơn với việc có nhiều nô lệ xây dựng, hơn là mọi thứ chạy trên một máy như tôi đang sử dụng.
Thiết lập Hudson cho một dự án Python khá đơn giản:
- Tải xuống Hudson từ http://hudson-ci.org/
- Chạy nó với
java -jar hudson.war
- Mở giao diện web trên địa chỉ mặc định của
http://localhost:8080
- Chuyển đến Manage Hudson, Plugins, nhấp vào "Cập nhật" hoặc tương tự
- Cài đặt plugin Git (Tôi phải đặt
git
đường dẫn trong tùy chọn toàn cầu Hudson) - Tạo một dự án mới, nhập kho lưu trữ, các khoảng thời gian bỏ phiếu SCM, v.v.
- Cài đặt
nosetests
quaeasy_install
nếu nó chưa có - Trong bước xây dựng, thêm
nosetests --with-xunit --verbose
- Kiểm tra "Xuất bản báo cáo kết quả kiểm tra JUnit" và đặt "XML báo cáo thử nghiệm" thành
**/nosetests.xml
Đó là tất cả những gì cần thiết. Bạn có thể thiết lập thông báo email và các plugin đáng để xem. Một số tôi hiện đang sử dụng cho các dự án Python:
- Plugin SLOCCount để đếm các dòng mã (và vẽ biểu đồ đó!) - bạn cần cài đặt sloccount riêng
- Vi phạm để phân tích đầu ra PyLint (bạn có thể thiết lập ngưỡng cảnh báo, vẽ biểu đồ số lượng vi phạm trên mỗi bản dựng)
- Cobertura có thể phân tích cú pháp đầu ra vùng phủ sóng. Nosetest có thể thu thập phạm vi bảo hiểm trong khi chạy thử nghiệm của bạn, bằng cách sử dụng
nosetests --with-coverage
(điều này ghi đầu ra vào**/coverage.xml
)