Quản lý các mô-đun tùy chỉnh trên nhiều cài đặt


19

Chúng tôi có một số mô-đun tùy chỉnh được sử dụng cho nhiều trang web. Những cái đó không thể được phát hành dưới dạng các mô-đun đóng góp, ví dụ vì chúng là ứng dụng khách cụ thể, đưa ra các giả định không hoạt động cho các mô-đun đóng góp, v.v.

Tôi biết về các khả năng sau đây để đối phó với điều này:

  • sao chép và dán chúng xung quanh. Làm cho nó rõ ràng là khó để giữ cho mô-đun cập nhật trên tất cả các cài đặt.

  • Có một cài đặt đa trang web, nhưng điều này không phải lúc nào cũng có thể.

  • Sử dụng các mô đun con git, nhưng chúng có thể gây khó chịu, thật dễ dàng để quên cập nhật chúng và không phải lúc nào cũng được hỗ trợ (ví dụ: Pantheon)

  • Drush tạo các kịch bản để kiểm tra từ kho lưu trữ git thông thường. Đối với điều này, bạn AFAIK cần sử dụng drush make cho toàn bộ trang web và hiện tại chúng tôi không sử dụng nó.

  • http://drupal.org/project/fserver . Tôi chưa thử điều đó, có ai biết nó có đủ ổn định không? Mô tả dự án không có vẻ rất hứa hẹn và không có phiên bản 7.x.

Còn gì nữa / tốt hơn không? Bạn thích gì và tại sao?


Tôi nghĩ rằng cách mới để thực hiện những điều này là với các ứng dụng: drupal.org/project/apps
mojzis

Câu trả lời:


10

Cách tiếp cận Drush , như bạn đã đề cập, là phiên bản mà nhóm của tôi đang sử dụng.

Mặc dù hiện tại bạn không sử dụng drush make cho các trang web của mình, nhưng việc chuyển sang quy trình công việc này tương đối đơn giản nếu bạn muốn vì drush cũng cung cấp công cụ tạo drush sẽ tạo tệp make từ một trang hiện có. Do đó, không cần phải cảm thấy như nó chỉ có giá trị cho các trang web mới. :)


Cảm ơn, tôi đã quyết định chấp nhận câu trả lời của bạn. Tôi cần phải làm quen với việc thực hiện, tìm ra cách giải quyết tốt nhất trong các dự án lớn với nhiều mô-đun tùy chỉnh và thuyết phục đồng nghiệp của tôi trước khi tôi có thể bắt đầu sử dụng điều này, mặc dù vậy;) Bạn có tài nguyên nào về cách duy trì trang web, ví dụ cách tốt nhất để cập nhật phiên bản, xây dựng lại một trang web.
Berdir

2
Tôi không có bất kỳ tài nguyên nào, vì vậy tôi đã viết một tài liệu :) drupal.stackexchange.com/questions/33403/. Tất nhiên, hãy bình luận với những câu hỏi sâu hơn nếu bạn muốn. :)
Letharion

1

Nếu tất cả các trang web trên cùng một máy chủ, bạn có thể sử dụng symlinkđể tải các mô-đun từ một vị trí trung tâm hoặc rsyncnếu bạn đang làm việc với nhiều máy chủ.

Điều này sẽ giải quyết vấn đề phân phối tệp, nhưng bạn vẫn cần phải nâng cấp. Nó có thể được tự động hóa drushcùng với một tập lệnh đơn giản gọi nâng cấp trên mọi trang web, từng cái một.


0

Có vẻ như bạn gần như trông khá nhiều cho tất cả các giải pháp. Khi tôi đọc nó, đầu tiên những gì xuất hiện trong tâm trí tôi, hai giải pháp khác của nó thích rsynchoặc symlinkmột lần nữa, nó không thoải mái để duy trì.

Sau đó, nhớ về mô-đun Git Deployment đó thực sự là một kết hợp tốt với các mô đun con git.

Tôi chưa thử ý tưởng này, nhưng nó có thể hoạt động, hoặc ít nhất cung cấp cho bạn một số manh mối về cách hack nó để làm hệ thống của riêng bạn.


Triển khai Git hiển thị thông tin phiên bản của các mô-đun đóng góp, nhưng chúng tôi không có các mô-đun đóng góp nên tôi không nghĩ rằng nó sẽ giúp ích.
Berdir

0

Tôi sử dụng một kho git riêng cho tất cả các mô-đun đóng góp / tùy chỉnh trong đó mỗi mô-đun đóng góp hoặc tùy chỉnh nằm trong một nhánh riêng (không phải trong mô hình con).

đây là cách hợp nhất git hoạt động ở đây:

bậc thầy

      <-- custom
        <-- custom module 1
        <-- custom module 2    

      <-- contrib
        <-- contrib module 1
        <-- contrib module 2     

chủ -> phát hành

và một tập lệnh bash / drush để cập nhật các nhánh


Giải pháp của tôi dựa trên bài viết này nvie.com/posts/a-successful-git-branching-model
Refineo

Hừm. Vì vậy, về cơ bản tôi có thể thêm một trang web khác dưới dạng từ xa và nhập một nhánh mô-đun tùy chỉnh từ đó. Điều đó có thể làm việc, nhưng tương đối phức tạp.
Berdir

0

Tôi sử dụng SVN thay vì Git để lưu trữ các mô-đun được phát triển tùy chỉnh của chúng tôi. Sau khi tôi cam kết thay đổi từ localhost, tôi chỉ chạy tập lệnh bash chạy lệnh "svn update" tại các vị trí máy chủ được xác định trước. Bất cứ khi nào tôi triển khai một mô-đun đến một vị trí mới, tôi cập nhật tập lệnh bash. Nó thực sự là một thiết lập đơn giản và hoạt động mà không gặp rắc rối.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.