Thứ Hai, 24 tháng 10, 2016

CI + Jenkin

I.CI
1. Định nghĩa:
- Continuous Integration (CI) là một thực hành kỹ thuật phần mềm, trong đó thay đổi cách ly ngay lập tức kiểm tra và báo cáo khi chúng được thêm vào một cơ sở mã lớn hơn. Mục tiêu của CI là cung cấp thông tin phản hồi nhanh chóng do đó nếu một lỗi được đưa vào các cơ sở mã, nó có thể được xác định và sửa chữa càng sớm càng tốt. công cụ phần mềm tích hợp liên tục có thể được sử dụng để tự động kiểm tra và xây dựng một đường mòn tài liệu.
- CI có nguồn gốc từ bên trong lập trình cực mô nhưng các nguyên tắc có thể được áp dụng cho bất kỳ mô hình lập trình lặp đi lặp lại, chẳng hạn như lập trình nhanh nhẹn.Phương pháp tiếp cận phát triển truyền thống, chẳng hạn như cácmô hình thác nước có thể được hưởng lợi từ việc sử dụng các phương pháp CI cho giai đoạn xây dựng.
2. Cấu trúc:

3. Tích hợp liên tục kết hợp với phát triển theo hướng kiểm thử phù hợp với phương pháp agile:

CI – tích hợp liên tục là phương pháp mà các team Agile sử dụng để đảm bảo code của toàn dự án luôn build được, luôn chạy đúng (Pass toàn bộ các test case). Hiện tại, hầu như các công ty phần mềm đều áp dụng CI, thông qua một số framework như: TFS, TeamCity, Hudson, Jenkin, Travis,...

4. Đem lại:
- Giảm thiểu rủi ro do lỗi được phát hiện sớm.

- Giảm thiểu sự lặp lại cho các quá trình

- Tạo phần mềm có giá trị sử dụng sớm nhất có thể và sẳn sàng triểnkhai mọi lúc mọi nơi.

- Cung cấp cái nhìn xuyên suốt tổng quan và cụ thể cho từng giai đoạn.

- Nâng cao kỹ năng của đội ngũ nhân viên phát triển phần mềm.

- Cải thiện chất lượng phần mềm.

5. Kết:

CI giúp các nhóm làm việc hiệu quả hơn. Các nhóm này có thể có chức năng liên quan làm việc cùng nhau. Họ có thể làm việc ở những nơi khác nhau, bởi vì công việc tích hợp không ngừng sẽ đảm bảo rằng bạn không đi lệch các thiết kế. Nó giải quyết vấn đề sớm mà các nhóm phát triển theo phương pháp agile có thể đã trải qua nếu không tích hợp liên tục.

II.Jenkin

1. Định nghĩa Jenkin:

Là một ứng dụng web application mã nguồn mở (được cộng đồng phát triển theo giấy phép MIT) đóng vai trò máy chủ build & test của hệ thống tích hợp liên tục. - Jenkins được viết bằng Java nên Jenkins có thể kết hợp được với hầu hết các công cụkhác của hệ thống tích hợp liên tục với nhiều nền tảng khác nhau và đặc biệt là tảngmobi application (android).- Tiền thân là Hudson được viết bởi Kosuke Kawaguchi tại Sun, kể từ khi Sun được mualại bởi Oracle vào năm 2010, một bộ phận phát triển Hudson đã tách ra phát triển riêngvà được đặt tên là Jenkins. - Được sử dụng rộng rãi và được phát triển cải tiến liên tục bởi cộng đồng mã nguồn mở.

2. Đem lại:

- Là trái tim của CI


- Tất cả với Jenkins hầu như là tự động.

- Giảm thời gian và chi phí.
- Nâng cao năng lực nhân viên?
- Có thể tóm gọn lợi ích Jenkins mang lại là FESS.

 + Faster.

+ Easier.

+ Safer.

+ Smarter.

Không có nhận xét nào:

Đăng nhận xét