2009-07-07 36 views
11

Tôi đã thiết lập TeamCity trên hộp Linux (Ubuntu) và muốn sử dụng nó cho một số dự án Python/Django.TeamCity để tích hợp liên tục Python/Django

Vấn đề là tôi không thực sự thấy phải làm gì tiếp theo - Tôi đã thử tìm kiếm một đại lý xây dựng cụ thể của Python cho TeamCity nhưng không có nhiều thành công.

Tôi làm cách nào để quản lý?

Trả lời

22

Ok, do đó, làm thế nào để làm cho nó làm việc với hội nhập TeamCity thích hợp:

Giả sử bạn đã cài đặt có ít nhất 1 đại lý xây dựng sẵn

1) TeamCity Cấu hình xây dựng đại lý của bạn để thực hiện

manage.py test 

2) Tải xuống và cài đặt plugin này cho TC http://pypi.python.org/pypi/teamcity-messages

3) Bạn sẽ phải cung cấp tùy chỉnh của mình Á hậu thử nghiệm cho plugin trong (2) để làm việc. Nó có thể sao chép thẳng của run_tests từ django.test.simple, chỉ với một thay đổi nhỏ: thay thế dòng nơi runner thử nghiệm được gọi với TeamcityTestRunner, vì vậy insted của

def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]): 
    ... 
    result = unittest.TextTestRunner(verbosity=verbosity).run(suite) 

sử dụng này:

def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]): 
    ... 
    result = TeamcityTestRunner().run(suite) 

bạn sẽ phải đặt chức năng đó vào một tập tin trong giải pháp của bạn, và chỉ định một Á hậu kiểm tra custome, sử dụng tài sản cấu hình TEST_RUNNER của Django như thế này:

TEST_RUNNER = 'my_site.file_name_with_run_tests.run_tests' 

Make sur e bạn tham khảo tất cả các hàng nhập khẩu cần thiết trong file_name_with_run_tests bạn

Bạn có thể kiểm tra nó bằng cách chạy

./manage.py test 

từ dòng lệnh và nhận thấy sản lượng đã thay đổi và bây giờ thông điệp như

#teamcity.... 

xuất hiện trong nó.

1

Tôi đã thêm yêu cầu tính năng vào trình theo dõi vấn đề TeamCity, để tạo hỗ trợ python đầy đủ tính năng. Đây là liên kết: http://youtrack.jetbrains.com/issue/TW-25141. Nếu bạn quan tâm, bạn có thể bỏ phiếu cho nó, và điều đó có thể buộc JetBrains cải thiện hỗ trợ python.

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