2010-09-06 29 views
5

Thường sau khi trang web Drupal (6.x) được khởi chạy, tôi có người bắt đầu đăng ký và nhập nội dung của riêng họ. Bất cứ khi nào có nhu cầu nâng cấp, cơ sở dữ liệu về sản xuất được sao chép sang dev và sau đó phát triển được thực hiện trên dev, sau đó được đẩy để dàn dựng để phê duyệt của khách hàng.Đồng bộ trang web Drupal giữa dev, dàn dựng và sản xuất

Khi trang web cuối cùng sẵn sàng phát trực tiếp, có sự cố. Máy chủ sản xuất có nội dung được người dùng nhập mới nhất, dev và dàn dựng có chức năng mới nhất. Đơn giản chỉ cần ghi đè lên cơ sở dữ liệu về sản xuất sẽ không hoạt động. Những gì tôi thường làm là viết ra những gì đã được thực hiện để dev và hơn làm theo các bước để đi mặc dù việc thực hiện một lần nữa vào sản xuất. Khi hệ thống phát triển lớn hơn, một lỗi duy nhất trong quá trình sản xuất có thể khiến doanh nghiệp bị mất. Tôi không thể tắt trang web trong vài giờ. Tôi không thể biết có bao nhiêu người đang sử dụng trang web tại một thời điểm nhất định, thậm chí không thể chờ một thời gian mà không có ai trên trang web thực hiện nâng cấp.

Có ai có ý tưởng hay không?

Xin cảm ơn trước.

Trả lời

4

Có hai khái niệm bạn cần xem xét: Đầu tiên là "Exportables" thường là cách xuất tất cả cấu hình của một mô-đun nhất định. Cái thứ hai là "Features" (tên khủng khiếp, có) là cách nhóm một tập hợp các Có thể xuất được thành một bộ thay đổi đã cho để kiểm soát phiên bản, cập nhật, triển khai, khôi phục, v.v.

Để làm rõ, nhiều mô-đun tự thực hiện Phương thức "Exportables" mà tôi liên kết ở trên là module Exportables. Đây là chiến lược rộng hơn cho nó - http://www.sthlmconnection.se/tips-and-tweaks/exportable-configuration-your-drupal-module-ctools

4

Đó là câu hỏi triệu đô la: Cách chuyển mã, cấu hình và nội dung giữa các trang Drupal khác nhau? Trong Drupal, mã được lưu trữ trong các tệp (hoặc ít nhất nó phải là) trong khi cấu hình và nội dung thường nằm trong cơ sở dữ liệu.

Lấy mã của bạn từ máy chủ này sang máy chủ khác không khó và mã có lợi thế khác: dễ dàng lưu trữ và quản lý trong hệ thống kiểm soát phiên bản như SVN hoặc GIT. Đó là lý do tại sao hầu hết các giải pháp tập trung vào việc lấy nội dung ra khỏi cơ sở dữ liệu và đưa nó vào mã.

Đã được đề cập bởi CaseySoftware, mô-đun Features là những gì bạn cần để lưu trữ cấu hình trong mã. Các tính năng có bản phát hành ổn định từ một vài tuần và cộng đồng dường như đồng ý rằng Tính năng là con đường phía trước.

Di chuyển nội dung giữa các trang web khó hơn một chút, vì nội dung có thể được thêm hoặc thay đổi trên dev, dàn dựng và sản xuất đồng thời. Exportables là một nỗ lực để giải quyết điều đó, nhưng nó không phải là duy nhất. Đảm bảo bạn cũng xem Deploy và các mô-đun UUID Features Integration dựa trên Tính năng. Không có mô-đun nào ổn định và thời gian sẽ cho biết mô-đun nào là giải pháp tốt nhất.

+0

Thx. Đó là chính xác những gì tôi đang cố gắng để giải quyết nhưng chỉ không chắc chắn nếu có bất kỳ giải pháp thực hiện được thực hiện trên mạng. Thú vị đủ, tôi nghĩ rằng tôi chỉ mất Drupal từ cấp như bất cứ điều gì tôi đã nghĩ đến làm với Drupal, có một mô-đun cho nó. Tôi đọc và viết một thời gian trước đây bằng cách sử dụng tính năng và bối cảnh để quản lý vấn đề này. Sau khi thử một lúc, tôi thấy rằng mô-đun Ngữ cảnh không phải là rất ổn định. Xuất khẩu là con đường để đi nhưng vấn đề là mỗi mô-đun có các công cụ xuất riêng của nó. Theo thời gian, tôi vẫn phải theo dõi những cơ hội đã được thực hiện cho mỗi lần cập nhật. –

+1

Điều mà tôi đề cập đến làm nổi bật điểm cơ bản của việc đạt được mục tiêu này là phân tách cấu hình và nội dung, trong các điều khoản khác cho phép SVN quản lý cấu hình và dữ liệu mới nhất phải luôn luôn tạo thành cơ sở dữ liệu về sản xuất.Theo ý kiến ​​của tôi, nó thực sự ổn nếu các cấu hình nằm trong cơ sở dữ liệu miễn là Drupal có thể đưa ra một quy ước đặt tên rõ ràng phân tách các bảng chỉ chứa các cấu hình và bảng chứa dữ liệu người dùng. –

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