2008-10-03 30 views
18

Tôi có một ứng dụng web Python bao gồm một số gói Python. Cách tốt nhất để xây dựng và triển khai điều này cho các máy chủ là gì?Cách xây dựng và triển khai các ứng dụng web Python

Hiện tại tôi đang triển khai các gói với Capistrano, cài đặt các gói vào virtualenv với bash và cấu hình máy chủ với con rối, nhưng tôi muốn tìm giải pháp dựa trên Python hơn.

Tôi đã tìm kiếm một chút vào zc.buildout, nhưng không rõ ràng đối với tôi những gì tôi có thể/nên sử dụng nó cho.

Trả lời

0

pyinstall trông giống như nó phải là một giải pháp đơn giản cho bạn. Ít nhất là xa như đóng gói các công cụ python và cài đặt trong virtualenv đi. Tôi không biết cách nào để tạo cấu hình máy chủ ...

1

Paver là một cào/làm việc giống nhau cho python. Tôi không biết nếu đây là những gì bạn đang tìm kiếm, vẫn chưa tìm thấy bất cứ điều gì tương đương với con rối cho python ...

0

Tôi sử dụng Mercurial làm hệ thống SCM của mình và cũng để triển khai. Nó chỉ là một vấn đề của nhân bản kho lưu trữ từ một số khác, và sau đó một kéo/cập nhật hoặc lấy một sẽ làm cho nó được cập nhật.

Tôi sử dụng một số phiên bản của kho lưu trữ - một trên máy chủ phát triển, một (hoặc nhiều hơn, tùy thuộc vào hoàn cảnh) trên máy cục bộ của tôi, một trên máy chủ sản xuất và một kho lưu trữ 'Master' có sẵn internet (mặc dù chỉ bằng SSH).

Điều duy nhất nó không làm là tự động cập nhật cơ sở dữ liệu nếu nó được thay đổi, nhưng với móc đến tôi có lẽ có thể làm điều này quá.

+0

Nếu bạn đang sử dụng SCM, điều đó có nghĩa là Bạn đang có tệp được rút gọn trong kho lưu trữ? Các tệp PO được xây dựng cũng vậy? Vì vậy, sau khi tất cả các mã nguồn cam kết, commiter cũng phải xây dựng lại các tập tin nhị phân/bắt nguồn và cam kết chúng quá? – Almad

+1

Trên thực tế, các phiên bản được rút gọn/lưu trữ của các tệp được tạo trên máy chủ, sử dụng django-css. –

2

Phụ thuộc vào cơ sở hạ tầng của bạn. Chúng tôi chỉ sử dụng các gói debian và buildbot để tạo chúng.

Trên các thiết lập khác, tôi sử dụng Fabric tập lệnh. Đối với định dạng, tôi chỉ sử dụng các tập tin tbz2, nhưng tôi đã nghe nói về những người chỉ trứng depoloying.

Tôi thực sự khuyên bạn nên xây dựng đúng và có BuildBot/Hudson để tạo gói, vì sử dụng SCM đánh bại mục đích và khuyến khích thực hành không tốt.

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