Tôi thiết lập một trang web Drupal dưới sự kiểm soát của git cho công việc phát triển.
Nó được phát minh trong một bản gốc, repo GIT trần và khi các thay đổi được thực hiện trong các bản sao git dự án khác nhau của tôi và được đẩy trở lại bản gốc, một hook sau cập nhật ngay lập tức đẩy các thay đổi lên một trang web Staging trực tiếp duy nhất (http: / /staging.loc.). Không có gì đặc biệt, hoạt động như mong đợi.
Tôi cũng đã đánh dấu trang web "@STAGING". Thỉnh thoảng, tôi muốn quảng bá các thay đổi của mình từ trang Staging sang máy chủ sản xuất.
Hai phương pháp tương đối đơn giản đến với tâm trí:
(1) Tại thời điểm trang Staging xuất hiện ổn định, hãy tạo trang Sản xuất dưới dạng kiểm tra git từ repo chính,
(2) sử dụng drush rsync
+ drush sql-sync
từ vị trí dàn đến vị trí sản xuất.
Cả hai có thể được thực hiện để làm việc. Khác với thực tế là (2) có vẻ như Drupal-centric / nhận thức theo bản chất - rốt cuộc, drush là một bộ công cụ dành riêng cho Drupal - những ưu điểm tương đối của hai phương pháp này là gì?
Có bất kỳ lý do cụ thể nào tôi nên xem xét (1) hơn (2) không?
Trong cả hai trường hợp "Mọi thứ" đều nằm trong ít nhất một trường hợp kiểm soát sửa đổi ...
"rsync' => array ('exclude-paths' => '.git:.DS_Store:.gitignore:.gitmodules:',"
trong tệp .rc, mặc dù tôi không chắc chắn liệu tôi có cần điều đó trong cả các đặc tả của bí danh nguồn và đích hay chỉ một hoặc khác.