CI LÀ GÌ

Tích phù hợp liên tục (CI) là gì?

Tích phù hợp liên tục (CI - Continuous Integration) là 1 trong phương pháp phát triển phần mềm nhưng mà các member vào team hoàn toàn có thể tích đúng theo công việc của họ ít nhất một đợt mỗi ngày. Trong phương pháp này, phần đông tích đúng theo những được soát sổ bằng một bạn dạng build tự động để kiếm tìm tìm lỗi.

Bạn đang xem: Ci là gì

Khái niệm CI được giới thiệu lần đầu tiên hơn nhị thập kỷ trước nhằm tách "địa ngục tích hợp", xảy ra Lúc quá trình tích vừa lòng bị dừng cho đến Khi kết thúc một dự án công trình.

Trong CI sau khoản thời gian code được commit, phần mềm được build và demo ngay nhanh chóng. Trong một dự án công trình lớn với rất nhiều developer, commit code được triển khai những lần trong ngày.

Với những lần commit, code sẽ được build cùng thử nghiệm. Nếu vượt qua được các bài kiểm tra, bản build sẽ sẵn sàng để deploy. Nếu deploy thành công xuất sắc, code sẽ tiến hành đẩy lên production. Commit, build, demo với deploy này là 1 trong những quy trình liên tiếp và cho nên vì thế còn được gọi là tích hợp / xúc tiến liên tục (continuous integration /deployment - CI/CD).

Sử dụng CI vs Không sử dụng CI

Dưới đó là sự khác biệt tại chính giữa trở nên tân tiến áp dụng CI hoặc không thực hiện CI.


Không thực hiện CI Sử dụng CI
Rất các lỗi Ít lỗi rộng
Commit không thường xuyên Commit liên tục
Bản thiết kế ko liên tiếp và chậm chạp Bản xây dựng chuyển động tiếp tục
Khó tích hợp Tích phù hợp thuận lợi cùng tác dụng
Kiểm thử xẩy ra muộn Kiểm demo xẩy ra sớm với liên tục.
Vấn đề đang nêu cạnh tranh khắc phục hơn Tìm cùng hạn chế và khắc phục sự cầm nkhô nóng hơn cùng hiệu quả rộng.
Khả năng hiển thị dự án công trình kém nhẹm Khả năng hiển thị dự án xuất sắc rộng

Sự biệt lập giữa Biên dịch cùng Tích phù hợp thường xuyên (CI)

*

Trong lúc Biên dịch chỉ biên dịch mã thì Tích đúng theo tiếp tục (CI) triển khai những chuyển động sau:

Tích hòa hợp DB:

Đảm bảo DB với code đồng điệu.Tự rượu cồn tạo thành DB và tài liệu thí điểm.

Kiểm tra code:

Đảm bảo code không xẩy ra lỗi.Xác định sự việc sớm với vận dụng các best practice.

Triển knhì từ động:

Cho phnghiền các bạn tạo ra sản phẩm bất cứ thời gian như thế nào.Có thể thực hiện cùng hoạt động trên hồ hết sản phẩm.

Tạo tài liệu:

Đảm bảo tài liệu tiên tiến nhất.Tạo báo cáo với số liệu biên dịch.

Biên dịch:

Biên dịch là quy trình máy vi tính thực hiện nhằm đổi khác mã ngữ điệu xây dựng cấp cao thành ngôn từ thiết bị mà lại laptop hoàn toàn có thể gọi được. Nó bảo vệ một trình biên dịch mã trên đầy đủ nền tảng gốc rễ phương châm.

Build Lúc nào?

Tại mỗi lần commit code.Mỗi lúc sự phụ thuộc biến đổi.

Build như thế nào?

*
Tốt nhất, build đề nghị được thực hiện từ bỏ cái lệnh và tránh việc phụ thuộc vào vào IDE.Quá trình build phải diễn ra liên tục bằng phương pháp thực hiện sever CI chuyên dụng, không phải các bước được lập lịch sẵn.CI đã auto build những lần có code check-in chđọng không chỉ vào thời gian nửa tối.Bản dựng yêu cầu cung cấp phản hồi ngay lập tức mau lẹ và ko đề nghị bên phát triển nỗ lựcXác định các chỉ số chủ yếu và quan sát và theo dõi chúng một phương pháp trực quan liêu. Quan trọng hơn, hãy hành vi ngay lập tức lập tức

Bạn cần những gì nhằm triển khai tiến trình CI?

*

Dưới đấy là những yếu tố bao gồm mà lại bạn cần nhằm hoàn thiện cục bộ các bước CI:

Hệ thống kiểm soát điều hành phiên bạn dạng (VCS): Nó hỗ trợ một phương thức an toàn để triệu tập cùng gia hạn các thay đổi được tiến hành đến dự án công trình của công ty theo thời gian.

Xem thêm: Jual Zahir Accounting Enterprise ( V5, Fast Accounting 11

Máy ảo: quý khách hàng phải gồm một máy chủ dự phòng hoặc ít nhất một thiết bị ảo để thiết kế hệ thống của chính mình.Giải pháp công cụ CI được lưu trữ: Để tách máy chủ hoặc máy ảo, chúng ta nên thực hiện giải pháp chế độ CI được tàng trữ. Công núm này giúp bảo trì toàn bộ quá trình với cung cấp năng lực không ngừng mở rộng dễ ợt rộng.Công cụ: Nếu bạn chọn 1 đổi thay thể tự lưu trữ, các bạn sẽ phải setup một trong tương đối nhiều vẻ ngoài CI nhỏng Jenkins, TeamCity, Bamboo, GitLab, v.v.

Tích đúng theo thường xuyên (CI) chuyển động như vậy nào?

Chắc hẳn các bạn vẫn nghe biết chiếc điện thoại cổ Nocơ. Nocơ đã từng có lần triển khai một quy trình Call là build từng đêm. Sau những commit code trường đoản cú những bên phát triển khác nhau trong ngày, ứng dụng được build mỗi đêm. Vì phần mềm chỉ được build một lượt trong thời gian ngày nên việc cô lập, xác định với sửa lỗi trong codebase to là một trong điều rất trở ngại.

Sau đó, họ vẫn áp dụng bí quyết tiếp cận Tích hợp thường xuyên (CI). Phần mềm được buid với kiểm chơi ngay sau thời điểm một công ty cải cách và phát triển commit code. Nếu ngẫu nhiên lỗi làm sao được phạt hiện nay, đơn vị phát triển tương xứng hoàn toàn có thể lập cập thay thế lỗi kia.

*

Các công dụng của Tích vừa lòng thường xuyên (CI)

Dưới đây là những bản lĩnh đặc biệt quan trọng của Tích đúng theo liên tục (CI):

Cho phxay bạn gia hạn một kho lưu trữ source code độc nhất vô nhị.Quý khách hàng hoàn toàn có thể kiểm demo bản sao của môi trường thiên nhiên production.Môi trường kiểm thử đề xuất ngay gần với môi trường xung quanh production.Tính khả dụng tiếp tục của một bạn dạng build hiện nay.Các stachồng holder hoàn toàn có thể xem toàn bộ quá trình build với thể nghiệm và thực thi.

Tại sao sử dụng Tích vừa lòng liên tục (CI)?

Dưới đó là đông đảo nguyên do quan trọng để áp dụng Tích vừa lòng thường xuyên (CI):

Giúp các bạn phát hành phần mềm unique giỏi hơn.Quy trình CI giúp mở rộng đồ sộ số lượng nhân viên và sản lượng phân phối hận của những nhóm kỹ sư.CI được cho phép các nhà phát triển ứng dụng làm việc độc lập bên trên các bản lĩnh tuy vậy tuy vậy.Giúp bạn triển khai xem sét tái diễn.Tăng khả năng hiển thị cho phép tiếp xúc giỏi hơn.Giúp trở nên tân tiến một sản phẩm hoàn toàn có thể build hoàn toàn tự động hóa.Giúp chúng ta sút thiểu khủng hoảng rủi ro bằng cách tiến hành nkhô giòn hơn và dễ dàng dự đân oán rộng.Phản hồi ngay lập tức nhanh chóng Khi gồm vụ việc.Tránh nhầm lẫn vào phút ít cuối về ngày cùng thời hạn kiến thiết.

Best practice Lúc áp dụng Hệ thống CI

Dưới đó là một số trong những best practice Khi thực hiện Hệ thống CI:

Commit code nhanh chóng với thường xuyên, ko bao giờ commit code bị lỗi.Sửa lỗi phiên bản build ngay lập tức chớp nhoáng.Hành hễ dựa vào những thông số.Tích hòa hợp vào đầy đủ môi trường thiên nhiên kim chỉ nam.Việc build phần mềm cần phải được triển khai theo cách để nó có thể được auto hóa.Không phụ thuộc vào vào IDE.Build với kiểm tra rất nhiều thiết bị lúc nó đổi khác.Lược trang bị các đại lý tài liệu được tính là toàn bộ hầu như vật dụng.Giúp chúng ta tìm thấy những chỉ số chủ yếu với theo dõi và quan sát chúng một biện pháp trực quan lại.Commit code liên tục cùng mau chóng.Kiểm rà source code mạnh khỏe.Tích đúng theo tiếp tục (CI) chạy unit thử nghiệm bất cứ bao giờ các bạn commit code.Tự đụng hóa câu hỏi build với soát sổ code của rất nhiều người.Giữ quá trình build nhanh lẹ cùng với thực hiện tự động hóa.

Nhược điểm của CI

Dưới đấy là những điểm yếu kém của quá trình Tích phù hợp liên tục:

Cần có thời hạn tùy chỉnh cấu hình cùng đào tạo ban sơ để gia công quen cùng với sever CI.Phát triển những tiến trình phân tích tương xứng là vấn đề cần thiết.Sở thí nghiệm được phát triển tốt yên cầu nhiều tài ngulặng cho máy chủ CI.Chuyển thay đổi những quy trình không còn xa lạ.Yêu cầu sever cùng môi trường xung quanh bổ sung.Thời gian chờ đón có thể xẩy ra khi những nhà cải tiến và phát triển hy vọng tích phù hợp mã của họ và một thời điểm.

Công chũm mang lại quá trình CI

Dưới đây là một số trong những dụng cụ CI cần thiết nhất:

Jenkins

*

Jenkins là một chế độ tích phù hợp liên tục mã nguồn mở. Nó được viết bằng ngữ điệu xây dựng Java. Nó chế tạo ra điều kiện tiện lợi mang lại vấn đề bình chọn theo thời hạn thực với báo cáo về phần lớn thay đổi riêng biệt trong một cơ sở mã to hơn. Phần mượt này giúp những công ty trở nên tân tiến nhanh chóng kiếm tìm cùng giải quyết những khi hữu kngày tiết trong đại lý mã của mình và tự động hóa bình chọn những bản dựng của mình.

Bamboo

*

Bamboo là 1 trong máy chủ tích phù hợp tiếp tục (CI) tiến hành build - nó tự động hóa build, chất vấn và thiết kế tại một nơi độc nhất vô nhị. Nó thao tác cùng với ứng dụng JIRA với Bitbucket. Bamboo cung cấp các ngôn ngữ lập trình sẵn cùng công nghệ nhỏng CodeDeply, Ducker, Git, Stoàn nước, Mercurial, AWS cùng Amazon S3.

TeamCity

*

TeamCity là một trong máy chủ tích phù hợp liên tục (CI) hỗ trợ nhiều khả năng trẻ trung và tràn đầy năng lượng. Nó bảo trì một máy chủ CI dạn dĩ và ổn định trong cả khi không tồn tại phiên bản build làm sao đang chạy. Nó hỗ trợ quality code xuất sắc rộng mang đến ngẫu nhiên dự án làm sao.

Tóm lược

Tích đúng theo thường xuyên (CI) là 1 cách thức trở nên tân tiến ứng dụng mà những member trong nhóm hoàn toàn có thể tích vừa lòng công việc của họ tối thiểu một lượt một ngày.Phát triển mà lại không tồn tại CI tạo thành những lỗi, trong lúc phát triển bao gồm CI hỗ trợ code ít lỗi rộng.Các chuyển động quan trọng đặc biệt của Tích thích hợp liên tiếp (CI) là 1) Tích thích hợp DB; 2) Kiểm tra mã; 3) Triển khai auto, Tạo tài liệu cùng Biên dịch.Quá trình build đã ra mắt liên tục bằng phương pháp sử dụng sever CI chuyên được dùng, chưa phải công việc được lập lịch sẵn.Các nhân tố đặc trưng của CI là 1) Hệ thống kiểm soát phiên bản 2) Máy ảo 3) Giải pháp dụng cụ Host CI 4) Công cụTích đúng theo liên tục được cho phép các bạn bảo trì chỉ một kho lưu trữ source code tốt nhất.Quy trình CI giúp đỡ bạn thiết kế phần mềm chất lượng tốt rộng.Các best practice đặc biệt quan trọng duy nhất của các bước Tích hòa hợp liên tiếp (CI) là commit code sớm và thường xuyên, ko khi nào commit code lỗi.Hạn chế thiết yếu của quá trình CI là cỗ xem sét được cải cách và phát triển giỏi từng trải các tài ngulặng mang đến sever CI.Jenkins, Bamboo, Azure Devops, Gitlab cùng TeamCity là một số cơ chế Tích thích hợp liên tục có ích. CI/CD