Phát triển trang web trong khi sử dụng Aegir và Drush


7

Tôi đọc này bài báo từ mig5.net về 'Drupal triển khai & quy trình công việc với điều khiển phiên bản, drush_make, và Ægir'. Tôi ấn tượng bởi hiệu quả của quy trình làm việc được mô tả ở đây và tôi thực sự muốn thực hiện điều này. Tôi đọc nó nhiều lần, nhưng một điều sẽ không rõ ràng với tôi.

Làm thế nào để bạn, trong khi phát triển trang web, đưa các thay đổi của bạn vào bản dựng tiếp theo? Khi bạn phát hiện ra bạn cần một mô-đun bổ sung, làm thế nào bạn có thể có được điều này trong bản dựng tiếp theo khi mô-đun (ví dụ như đóng góp) không được kiểm soát trong git? Bạn có cần chỉnh sửa tệp .make của mình mỗi lần bạn muốn thêm mô-đun, thư viện, v.v. không?

Cảm ơn trước.

drush 

Câu trả lời:


2

Đúng. Câu trả lời ngắn gọn là bạn cập nhật tệp tạo Drush của bạn để trỏ đến phiên bản mới của mô-đun bạn muốn đưa vào nền tảng mới (bản dựng).

Trong tập tin tạo drush của bạn, bạn sẽ bao gồm phiên bản của từng mô-đun bạn đang đưa vào bản dựng nền tảng của mình. Vì vậy, lượt xem chẳng hạn sẽ như thế này.

projects[views][subdir] = "contrib"
projects[views][version] = "3.4"

Bây giờ nếu bạn muốn cập nhật lên phiên bản mới của mô-đun Lượt xem, bạn sẽ cập nhật tệp tạo của mình thành một cái gì đó như thế này.

projects[views][subdir] = "contrib"
projects[views][version] = "3.5"

Sau đó, xây dựng một nền tảng mới trong Aegir bằng cách sử dụng tệp tạo drush cập nhật này. Sau đó, bạn sẽ di chuyển trang web sang nền tảng mới và Aegir sẽ thực hiện cập nhật cho bạn.

Đó là một quy trình công việc khá trơn tru. Tôi giữ tất cả các drush của mình tạo các tệp trong một repo được gọi là bản dựng để tôi có thể có một bản ghi về mỗi bản dựng của một dự án. Mong rằng sẽ giúp.


Tại sao bản dựng trong bài viết có tên 'drupal-6.14_build_2009102601'? Nếu tôi đúng, đó là ứng dụng của Mig5, vậy sẽ không hợp lý hơn nếu gọi nó là 'Mig5_build_2009102601'? Quy trình công việc này cũng liên quan đến việc bạn có được một danh sách lớn các nền tảng khi bạn đang phát triển nhiều trang web hơn, phải không?

1
Chắc chắn, nhưng các bản dựng dựa trên Capistrano cũng vậy. Một kỹ sư thông minh sẽ thực hiện tự động dọn sạch các nền tảng cũ không còn bất kỳ trang web nào trên đó (bạn có thể tự động xóa các nền tảng trong Aegir). Và vâng, bạn có thể gọi tên nền tảng bất cứ điều gì bạn thích. Ngày nay, tôi thậm chí còn tàn bạo hơn với việc đặt tên của mình và chỉ đơn giản là sử dụng số sê-ri, ví dụ '2009102601', bởi vì tôi thấy ứng dụng này không quan trọng lắm (ứng dụng thay đổi mọi lúc nên ai quan tâm)
Mig5

Được rồi, nhưng khi bạn phải quay lại thay đổi, bạn không biết nên chuyển sang nền tảng nào, bởi vì bạn đã không đính kèm một bí danh mô tả cho nó (ngày, nhưng không phải là tên trang web) ...

Và tôi có thể tự động xóa các nền tảng bằng một mô-đun như Auto Expire không? Một vấn đề là thực tế là mô-đun này cũng sẽ (cố gắng) xóa nền tảng được phát hành mới nhất (nếu trang web đã không thay đổi trong một thời gian).

1

Bob đã đánh bại tôi :) nhưng để đáp lại điều này và email của bạn, bạn đã gửi cho tôi, vâng, đây thực sự là quy trình chính xác. Hãy coi tệp trang điểm Drush của bạn là 'bản thiết kế' của ứng dụng của bạn.

Làm việc trong quá trình phát triển theo cách thủ công / sao chép trang web trực tiếp của bạn và thủ công 'drush up' hoặc 'drush dl' một mô-đun và kiểm tra xem mọi thứ có hoạt động như mong đợi không.

Sau đó, gấp mô-đun / phiên bản cập nhật mới đó vào tệp tạo tệp của bạn, xây dựng nền tảng mới mỗi khi tệp tạo tệp được cập nhật và sử dụng tác vụ 'Di chuyển' để 'nâng cấp' ứng dụng của bạn lên nền tảng đích.

Nếu có sự cố xảy ra trong quá trình nâng cấp (ví dụ: trong quá trình cập nhật drush xảy ra trong quá trình Di chuyển để áp dụng các cập nhật lược đồ trong cơ sở dữ liệu của bạn), trong hầu hết các trường hợp, Aegir sẽ tự động quay trở lại nền tảng trước đó, đó là sự hấp dẫn của hệ thống như vậy .

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.