Tôi có nên kiểm soát nguồn mô-đun đóng góp trong dự án của tôi?


8

Tôi đã được thông báo rằng trong khi phát triển, tôi nên kiểm soát nguồn mọi thứ trong sites/kho lưu trữ mã của mình (ví dụ SVN).

Giả sử tôi sẽ không bao giờ chạm vào bất kỳ mô-đun đóng góp nào tôi sử dụng ( ctools, viewsv.v.) nhưng sẽ chỉ tạo chủ đề của riêng tôi, tôi vẫn nên làm điều đó chứ?

Hay tôi chỉ nên kiểm soát nguồn mọi thứ bên dưới sites/all/themes/?

cảm ơn

Câu trả lời:


10

Trong nhóm của tôi, chúng tôi đã chuyển sang chỉ tìm nguồn cung ứng cụ thể cho dự án hiện tại của chúng tôi. Ví dụ: nếu chúng tôi đang sử dụng Chế độ xem, chúng tôi sẽ thêm mục nhập thích hợp vào chế độ tạo drush của chúng tôi và phiên bản đó , nhưng không phải là chính mô-đun.

Điều này cho chúng ta một kho lưu trữ rất nhỏ, bao gồm bất kỳ mô-đun tùy chỉnh cụ thể nào cho trang web hiện tại, chủ đề hiện tại và xuất khẩu tính năng.

Trừ khi bạn hoàn toàn không thể sử dụng drush và drush make, tôi không hiểu tại sao một phiên bản nên kiểm soát mã được phiên bản tốt ở một nơi khác. Và nếu bạn có ý định hack một trong các mô-đun, thì bạn nên thêm nó dưới dạng mô hình con , một lần nữa, không phiên bản mã trong repo của riêng bạn. (Tôi tin rằng đây được gọi là chi nhánh nhà cung cấp tại SVN).

Chỉnh sửa: Để biết thêm chi tiết và thiết lập nâng cao hơn, bạn có thể xem kho lưu trữ này: git@github.com: letharion / Drupal-build-scripts.git Các tập lệnh được viết bằng bash để hỗ trợ quy trình làm việc của nhóm tôi bao gồm một tòa nhà một hồ sơ cài đặt cơ sở ( NodeStream ), sau đó là hồ sơ dành riêng cho trang web của chúng tôi, tạo một tệp cho mỗi hồ sơ, móc để áp dụng các bản vá hoặc thực hiện các thay đổi khác trên các bước xây dựng riêng lẻ, v.v ... Tôi hy vọng tôi sẽ tìm thấy thời gian để làm lại -write nó như là một phần mở rộng drush trong tương lai gần.


Cảm ơn bạn đã giải thích chi tiết. Có, tôi sử dụng drush và có kế hoạch tự động hóa càng nhiều càng tốt. Và tôi không có kế hoạch thay đổi bất kỳ mã nào trong các mô-đun lõi hoặc đóng góp.
cherouvim

+1 phiên bản tệp tạo là một ý tưởng tuyệt vời, nghĩ rằng tôi sẽ thực hiện điều đó trong tương lai;)
Clive

1
@Letharion Tôi không hiểu cách thức hoạt động của nó khi phát triển cùng một trang với nhiều nhà phát triển cùng một lúc? AFAIK drush luôn tải xuống tất cả các phụ thuộc và cố gắng ghi đè lên các trang web / mặc định, ngay cả khi các mô-đun đó đã là D / L'd, hoặc có một số tùy chọn không có giấy tờ để chỉ tải xuống các mô-đun cập nhật / mới? Nói cách khác: Tôi hiểu lợi ích của việc sử dụng Drush tạo ra để cài đặt từ đầu, nhưng làm thế nào để bạn sử dụng nó để giữ cho các phụ thuộc mô-đun được đồng bộ hóa trong một nhóm phân phối?
Creynders

Tôi đã sử dụng phương pháp này hơn một năm nay nhưng bây giờ tôi đang tự hỏi liệu nó có thực sự tốt hơn là chỉ có mọi thứ trong một repo khi làm việc với các nhà phát triển khác, những người có thể không xây dựng lại nền tảng mỗi ngày. Ngoài ra, cách tiếp cận này không thực sự tương thích với cách mà Acquia cấu trúc các repos của họ cho lưu trữ đám mây của họ.
David Meister

6

Để phản bác lại câu trả lời của @ Letharion, việc đưa mọi thứ vào SVN có ý nghĩa đối với một số tổ chức và nó thực sự phụ thuộc vào cách bạn thực hiện các buổi giới thiệu của mình. Đặt các mô-đun và chủ đề đóng góp vào SVN có thể có ý nghĩa nếu bạn cần phải "quay ngược thời gian" và xem xét một phiên bản cũ của một trang web.

Một ví dụ về điều này rất hữu ích khi bạn nghi ngờ có lỗi trong mô-đun đóng góp hoặc đang thấy các hành vi khác nhau. Có thể khôi phục một phiên bản đầy đủ từ quá khứ có thể giúp đỡ.

Tôi cũng thấy hữu ích khi có một ảnh chụp nhanh trang web đầy đủ trong SVN khi tôi cần tìm hiểu xem khách hàng đã làm gì với một trang web. Tôi có thể chụp ảnh toàn bộ phiên bản của họ và dán nó vào SVN như một nhánh và so sánh.


Để "quay ngược thời gian" tôi cũng cần sao lưu cơ sở dữ liệu đầy đủ tương ứng. Bởi vì một số cài đặt và cấu hình nằm trong DB. Có đúng không?
cherouvim

Đúng. Mô-đun Sao lưu và Di chuyển và / hoặc sao lưu kho lưu trữ là bạn của bạn ở đây.
mpdon Arena

1
Sử dụng phương pháp này cho phép bạn sao chép toàn bộ cài đặt từ kiểm soát phiên bản và sao lưu, điều này có thể rất hữu ích để phát triển hoặc gỡ lỗi các trang web trực tiếp.
keithm
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.