Tôi có thể trả lời dựa trên cách chúng tôi làm việc tại Virya Group - CTO Marco Dings của chúng tôi đã viết những điều này trong một loạt các bài viết: http : //magazine.j Joomla.org/issues/su-apr-2014/item/1842-pratics -Phát triển-3 dự án .
Chúng tôi sử dụng các sản phẩm Atlassian - Jira, Stash, Confluence, v.v.
Chúng tôi thiết lập môi trường làm việc của chúng tôi như một vhost cho mỗi dự án - chúng tôi đang nghiên cứu kịch bản này để nhanh hơn. Vì vậy, mỗi nhà phát triển có "sân chơi" địa phương của riêng họ và chúng tôi đã thiết lập dev.clentsite.com, staging.clentsite.com và sau đó là trang web trực tiếp của họ, clientite.com.
Trong vhost, chúng tôi có một thư mục - vcs - và web root - www.
Chúng tôi sử dụng PHPStorm và chúng tôi cài đặt Joomla vào thư mục www và ánh xạ nó tới gốc web tương ứng trên dev / staging / live bằng các máy chủ từ xa.
Một kho lưu trữ được thiết lập trên dự án cho máy khách, vào kho lưu trữ này, chúng tôi đặt bất kỳ thứ gì thay đổi từ vanilla Joomla và bất kỳ tiện ích mở rộng nào được sửa đổi theo bất kỳ cách nào, hình dạng hoặc hình thức, bao gồm cả các mẫu.
Chúng được liên kết một cách tượng trưng từ thư mục VCS trở lại thư mục www - vì vậy các tệp 'sống' trong kho lưu trữ VCS, nhưng chúng xuất hiện trong thư mục www dưới dạng các tệp được liên kết.
Chúng tôi sử dụng LESS với cơ sở mẫu của chúng tôi và tuân theo cấu trúc BEM mà chúng tôi có trong một kho lưu trữ riêng. Điều này được sao chép xuống cho mỗi dự án và được liên kết sym dưới dạng mẫu mới. Bất kỳ tùy chỉnh dành riêng cho khách hàng nào sau đó là duy nhất cho dự án này, nhưng chúng tôi có thể hợp nhất trong mọi thay đổi trong tương lai cho tất cả các dự án của chúng tôi một cách dễ dàng.
Một số người sẽ kiểm soát phiên bản toàn bộ trang web, nó thực sự phụ thuộc vào những gì bạn muốn đạt được. Chúng tôi quan tâm đến những gì thay đổi và chúng tôi có quyền kiểm soát duy nhất về điều đó. Chúng tôi tạo một tệp khách hàng-custom.css mà khách hàng có thể thay đổi, nhưng mọi thứ khác đều vượt quá giới hạn.
Đối với kiểm soát phiên bản cơ sở dữ liệu, đó là điều chúng tôi đang xem xét. Chúng tôi đã chơi xung quanh với một số tùy chọn nhưng chưa tìm thấy bất cứ điều gì đánh dấu vào tất cả các hộp.
Chúng tôi sử dụng một loạt các tập lệnh để tự động hóa tất cả các mục trên, chúng tôi đang phát triển và điều chỉnh khi chúng tôi đi.
Tôi hy vọng điều đó sẽ giúp!