Triển khai Continuous Delivery của DevOps trở nên professional hơn

Continuous Delivery(CD) là một practice của việc delivery phần mềm hiệu quả và nhanh hơn. CD practices có thể bao gồm nhiều hơn hoặc ít hơn các thành phần sau:
- A good branching strategy
- A working Continuous Integration (CI) process
- Distributed builds
- Automated testing
- Automated and quick environment provisioning
- Automated code promotion
Hôm nay mình sẽ tập trung giải quyết vấn đề đầu tiên nhưng cũng rất quan trọng đối với process CI/CD, đó là : A good branching strategy (dịch đơn giản là chiến thuật về nhánh source code).
Việc sử dụng một Master branch duy nhất cho tất cả công việc development của chúng ta dường như là một tùy chọn tốt cho CI. Tuy nhiên , có một Multibranch-based workflow là tuyệt vời hơn là làm mọi thứ trên một Single branch.
Một Feature branch cho phép bạn tách biệt công việc development như các features, cho phép bạn chơi đùa với source code mà không lo sợ các rủi ro phá hỏng Master branch. Mỗi Feature và mỗi bug-fix có thể có một branch riêng biệt.
Trong strategy này, các developers làm việc và push những thay đổi của họ lên nhánh source khác (gọi là Feature branches). Một CI/CD tool (có thể là Jenkins, gitlab CI, Travis CI..) được cấu hình để build và unit test mỗi khi sửa đổi và push source code lên feature branches. Chỉ những thay đổi mà pass qua process build và unit tests sẽ được merged với Master branch.
Mình sẽ ví dụ strategy này lên Workflow cho GIT(gọi tắt là Gitflow)
Trong flow này, Master branch sẽ chỉ giữ các Source Code (production-ready code). Tất cả công việc development xảy ra trên feature branches với tên Develop/Development branch cung cấp một nơi chung để tích hợp tất cả các features. Tóm lại rằng: chúng ta có một Master branch chứa đựng các production-ready code. Các Feature branches là nơi tất cả công việc development diễn ra. Development/Develop branch là nơi code intergrate và quality. Ngoài ra còn có Release branches và Hotfix branch

Không có mô tả ảnh.

Không có mô tả ảnh.


Không có mô tả ảnh.

No comments:

Post a Comment

The Ultimate XP Project

  (Bài chia sẻ của tác giả  Ryo Amano ) Trong  bài viết  số này, tôi muốn viết về dự án phát triển phần mềm có áp dụng nguyên tắc phát triển...