Tôi muốn biết những chiến lược nào bạn sử dụng để đối phó với các thử nghiệm A / B của ứng dụng và gitflow của bạn.
Tổng quat:
Chúng tôi là một nhóm gồm 6 lập trình viên phát triển và duy trì một Ứng dụng lớn. Cho đến nay chúng tôi đã làm việc trên gitflow với một vài tiện ích bổ sung cho quy trình được thêm vào bởi chúng tôi hoạt động hoàn hảo trong một vài năm. Theo cách đơn giản, chúng tôi sử dụng:
- thạc sĩ ngành (chỉ mã của phiên bản được xuất bản)
- phát hành chi nhánh hợp nhất trong tổng thể sau khi kiểm tra dự phòng cuối cùng
- hotfix chỉ tương tác với nhánh chính trong trường hợp cực đoan
- phát triển tích lũy các mô-đun đã phát triển khi chúng được hoàn thành và thử nghiệm, cuối cùng hợp nhất thành phát hành.
- / tính năng là một nhóm các tính năng phân nhánh phát triển và một khi chúng được hoàn thành và vượt qua các giai đoạn thử nghiệm khác nhau, hợp nhất trở lại để phát triển thêm chức năng
- / fix_develop là một nhóm các tính năng có chứa các bản sửa lỗi cho các lỗi gặp phải từ các phiên bản trước đó không quá khẩn cấp để bắt đầu một hotfix.
Bây giờ, khi ứng dụng phát triển, với nhóm UX và các nhóm bên liên quan khác, chúng tôi đang áp dụng chiến lược thử nghiệm A / B mạnh mẽ hơn, nơi các bản phát hành mới sẽ có 2 phiên bản và dựa trên cách người dùng của chúng tôi thích một phiên bản hoặc phiên bản kia sẽ trở thành chủ nhân cuối cùng phiên bản miễn là chúng có ý nghĩa đối với người dùng của chúng tôi.
Đã giải thích điều đó, câu hỏi là : Những chiến lược nào bạn đã sử dụng hoặc đề xuất để quản lý mã của các phiên bản thử nghiệm A / B trong gitflow?
Các tùy chọn mà tôi đã xem xét không nhất quán bằng cách nào đó, ví dụ: phân nhánh nhánh A và B từ chủ và sau đó nối nhánh phát hành này sang nhánh khác, trong đó tôi không biết cách xử lý tách mã có chứa từ nhánh phát hành để làm nổi bật chi nhánh. Một tùy chọn khác là tạo các nhánh A và B phát hành và phát triển các nhánh A và B nghe có vẻ như quá nhiều nhánh và gây nhầm lẫn cho các đồng đội của tôi.
Tôi nghe ý kiến của bạn, cảm ơn!
Cập nhật: Ứng dụng chúng tôi phát triển là Ứng dụng Android và chúng tôi đang triển khai thử nghiệm A / B bằng nền tảng PlayStore để thử nghiệm A / B, yêu cầu tạo hai APK và tải lên một trong số chúng với tỷ lệ%. Ngoài ra để giữ mọi thứ đơn giản hơn và vì các thay đổi đôi khi có thể lớn hơn chỉ là vị trí nút, chúng tôi đã quyết định không thêm công tắc riêng cho thử nghiệm A và B trong một APK duy nhất.