Tại công ty của chúng tôi, chúng tôi duy trì RẤT NHIỀU trang web Drupal, thiết lập hiện tại của chúng tôi diễn ra như sau:
- Mỗi cơ sở mã đều có git repo của riêng nó
- Các tính năng mới có khả năng không đủ ổn định cho phiên bản tiếp theo có được nhánh tính năng của riêng chúng trong git
Ở trên tôi có thể nói là khá phổ biến đối với hầu hết các trang web Drupal.
Điều chúng tôi làm đặc biệt tại công ty của chúng tôi là gói debian các trang web để triển khai bằng lệnh drush tùy chỉnh - ' Bao bì Debian Drush '.
Bao bì Debian Drush cung cấp lệnh Drush để xây dựng các gói Debian của các trang web Drupal như một phương tiện để triển khai các trang web Drupal lên các máy chủ Debian hoặc Ubuntu.
Bao bì Debian Drush sử dụng hệ thống móc nối Drupal để xây dựng gói Debian phù hợp nhất với nhu cầu trang web của bạn. Các tính năng bao gồm:
- Cấu hình máy chủ ảo tự động cho máy chủ web Apache2 và Nginx
- Thiết lập cron trong /etc/cron.d
- Triển khai mã tự động với phân chia phân vùng cho các trang web / mặc định / tệp
- Cấu hình tự động thông qua công cụ cài đặt gỡ lỗi dpkg
- Quy trình triển khai tự động
- trình xử lý Git VCS tùy chỉnh để xây dựng các gói từ Git
Điều đó có nghĩa là gì?
Để xây dựng một bản phát hành:
cd /path/to/drupal-root
drush dh-make
Để triển khai một bản phát hành, đầu tiên SCP .deb cho tất cả các máy chủ web trong cụm. Sau đó, trên tất cả các máy chủ web chạy (bạn có thể sử dụng gói linux cssh để nhập lệnh cho tất cả các máy chủ trong cụm máy chủ cùng một lúc):
sudo dpkg -i drupal-site-yoursitehere.2011.05.25-1.all.deb
Trên một máy chủ web chạy:
cd /path/to/drupal-root
sudo -u drupal-site-yoursitehere drush updb && drush fra -y && drush cron
Làm xong
Tất nhiên để khôi phục điều này bây giờ là tầm thường từ quan điểm cơ sở mã, chỉ cần cài đặt phiên bản trước của .deb cho tất cả các máy chủ web và khôi phục cơ sở dữ liệu.
Rất vui được trả lời bất kỳ câu hỏi nào về việc này