Mục lục

Nguyên tắc quản lý kho code NukeViet trên Github

Tài khoản quản lý

Địa chỉ kho code

Nguyên tắc phát triển code

Quy trình tham gia phát triển code

Gợi ý cho các doanh nghiệp tham gia phát triển code

Nếu doanh nghiệp của bạn có nhiều nhân viên tham gia phát triển code thì thay vì tham gia dự án dưới tư cách của cá nhân, các bạn có thể tham gia phát triển dự án dưới tư cách của doanh nghiệp (trường hợp doanh nghiệp trả lương cho nhân viên để phát triển code của NukeViet). Dưới đây là hướng dẫn:

Theo hình thức này, một cá nhân vừa có thể tham gia trực tiếp vào dự án của NukeViet (phát triển ngoài giờ làm việc) và tham gia dưới tư cách là nhân viên của doanh nghiệp (phát triển trong giờ làm việc).

Các chú ý

Cấu trúc tổ chức kho code

Cấu trúc tổ chức kho code của NukeViet tuân theo mô hình phân nhánh Git như hình dưới.

Nhánh chính (là nhánh Master)

Nhánh này luôn đảm bảo rằng code được lưu trữ trên đó là phiên bản chính thức mới nhất đang được phát hành trên website nukeviet.vn

Nhánh release branches

(ví dụ đặt tên: nukeviet3.4, nukeviet4.3 ….)

Khi thông báo phát hành 1 phiên bản beta mới từ nhánh develop thì mới cần tạo 1 nhánh để duy trì sau này.

Nhánh hỗ trợ vá lỗi trong quá trình phát triển phiên bản đang phát hành. Hạn chế việc phát triển tính năng mới cho các nhánh này.

Code được trộn vào trong các nhánh này có thể bao gồm thêm các tính năng mới, nhưng cần được nâng cấp tự động không gây ảnh hưởng đến site khi nâng cấp. Nếu tính năng mới ảnh hưởng đến giao diện của site thì cần chuyển sang phiên bản tiếp theo.

Mỗi nhánh sẽ được duy trì từ lúc phát hành đế lúc kết thúc không nhỏ hơn 2 năm.

Nhánh Develop

Là nhánh được cập nhật liên tục các đóng góp của tất cả mọi người ở mọi thời điểm. Nhánh này sẽ tiếp nhận các đóng góp của mọi người gửi đến thông qua việc tiếp nhận Pull Request cũng như tiếp nhận việc nhập các nhánh khác vào.

Khi nhánh Develop sau khi được release phiên bản trước đạt độ chín mùi dự kiến 2 năm sẽ ra 1 phiên bản mới. Lúc này sẽ cần công bố:

Trong quá trình phát triển nhánh Develop, Nếu 1 tính năng mới cần được viết mới hoặc sửa đổi, thì tạo ra các nhánh mới (Feature branches: nó chỉ tồn tại trong một giai đoạn nào đó của dự án nhằm phục vụ những mục đích nhất định). Khi nào ổn định mới đưa vào nhánh Develop

Nguyên tắc phát triển chung

Nguyên tắc để được trộn vào các nhánh là cần có issues về việc sửa chữa tính năng này https://github.com/nukeviet/nukeviet/issues

Nếu là sửa lỗi, thì tạo 1 Hotfix branches từ nhánh có phiên bản thấp nhất cần phát triển ví dụ đặt tên hotfix-name. Sau khi sửa lỗi đó xong, tạo Pull Request đến các nhánh cần sửa để fix lỗi cho các phiên bản mới hơn có thể sửa. Khi tính năng hòan thiện đã được trộn thì xóa nhánh này trên kho code của mình đi.(Lịch sử đóng góp vấn được đảm bảo)

Việc phát triển tính năng mới cũng làm tương tự như việc sửa lỗi.

Thống kê kho code

Nguyên tắc thống kê

Xem Nguyên tắc thống kê đóng góp code trên kho NukeViet

Tham khảo

Các bài viết liên quan

Chú ý

Nguồn bên ngoài