Tôi là thành viên của nhóm phát triển hoạt động trên nhiều dự án dựa trên CMS, sử dụng các hệ thống như Joomla và Drupal.Cách triển khai: cơ sở dữ liệu, nguồn và nhị phân thay đổi trong 1 bản vá?
Trong quá trình phát triển của chúng tôi, tất cả các thay đổi mã của chúng tôi đều được quản lý bên trong Git. Khi kết thúc chạy nước rút, chúng tôi tạo một DIFF mà chúng tôi có thể áp dụng qua vá đến trang web đang hoạt động.
Vấn đề là hầu hết thời gian, những thay đổi bao gồm
- Database Schema Changes
- Cơ sở dữ liệu dữ liệu thay đổi
- Source Code thay đổi
- thay đổi tập tin nhị phân (như hình ảnh)
Xử lý Git Diff Mã nguồn thay đổi rất đẹp. Các tệp nhị phân chỉ không được bao gồm trong Diff trừ khi tham chiếu đến thực tế là các tệp đã thay đổi.
Thay đổi giản đồ cơ sở dữ liệu và thay đổi dữ liệu cơ sở dữ liệu là một mớ hỗn độn.
Tôi đã lang thang nếu bất kỳ thứ gì giống như một hệ thống vá thống nhất tồn tại có thể được sử dụng để triển khai tất cả những thay đổi này trong 1 bản vá.
Vì vậy, câu hỏi là, "Có một hệ thống có thể được sử dụng để triển khai tất cả các thay đổi trong 1 bắn?
Lý tưởng nhất, hệ thống này sẽ cho phép để chạy khô ương như vá, nhưng đối với tất cả các loại 4 dữ liệu
Sửa:. Cảm ơn mọi người cho ý kiến phản hồi mà bạn cung cấp, đó là một điểm khởi đầu cho việc nghiên cứu của tôi trong lĩnh vực này
Dưới đây là những gì tôi tìm thấy cho đến nay.:
Thật khó để triển khai php dựa ứng dụng sử dụng bao bì linux hệ thống bởi vì thay đổi đối với dự án xảy ra lặp đi lặp lại khá sau đó là phiên bản.
Nó sẽ có thể sử dụng dbconfig để triển khai thay đổi cho một dự án , nhưng vấn đề là tạo diffs mysql db (schema và dữ liệu)
những gì thực sự là mất tích cho việc triển khai các ứng dụng php dựa là một người quản lý triển khai sẽ được cài đặt trên máy chủ và sẽ là giao diện cho việc triển khai các bản vá lỗi
Tôi đã bắt đầu một Google Wave về chủ đề này và đã tạo ra rất nhiều thông tin. Nếu bất kỳ ai quan tâm đến việc đọc wave này, vui lòng cho tôi biết và tôi sẽ thêm bạn.
+1 phù hợp với những gì tôi đã nói, với hệ thống đóng gói cụ thể để sử dụng + nhận xét theo dõi phiên bản. Lưu ý rằng không cần quan tâm đến khả năng tương thích của cơ sở dữ liệu với phiên bản trước của ứng dụng, bạn nên thực hiện trang web/dịch vụ ngoại tuyến trong suốt quá trình xuất bản và khôi phục tất cả trong trường hợp lỗi. – eglasius
@Antoine Claval, cảm ơn bạn rất nhiều vì phản hồi của bạn, tôi thấy nó cực kỳ hữu ích. Cảm ơn bạn đã dành thời gian để phác thảo chiến lược triển khai của bạn, tôi nghĩ bạn xứng đáng với các điểm danh tiếng :) –