"Tích hợp liên tục là gì?"
Hãy xem Wiki cho chúng ta biết gì về câu hỏi này : Tích hợp liên tục (CI, Tích hợp liên tục trong tiếng Anh) là một phương pháp phát triển phần mềm bao gồm việc hợp nhất các bản sao làm việc vào một nhánh phát triển chính chung nhiều lần trong ngày và thực hiện các bản dựng dự án tự động thường xuyên trong thời gian sớm nhất. phát hiện các khiếm khuyết tiềm ẩn và giải pháp cho các vấn đề tích hợp. Đáng sợ phải không? Hãy thử giải thích thuật ngữ này bằng những từ đơn giản: Tích hợp liên tục là một hệ thống xây dựng và kiểm tra tự động phần mềm với các cấu hình nhất định trên một số máy nhất định nhằm phát hiện lỗi và sự không tương thích. Được rồi, không vấn đề gì, chúng tôi đã tìm ra nhưng câu hỏi hợp lý sau đây được đặt ra:Tại sao chúng ta cần CI?
Hãy tưởng tượng rằng bạn đang viết một dự án lớn và cần phải thêm/thay đổi chức năng. Bạn viết thành công nó, viết bài kiểm tra, khởi chạy nó và mọi thứ có vẻ ổn, nhưng không. Có những tình huống khi một thay đổi trong một chức năng ảnh hưởng đến chức năng khác, chức năng khác ở chức năng thứ ba, v.v., cho đến khi lỗi xảy ra ở đâu đó và xảy ra lỗi. Đúng, bạn có thể nói rằng rất có thể đây là một dự án được thiết kế kém và bạn có thể đúng, nhưng nếu không phải vậy thì sao và những kết nối này thực sự nên có ở đó? Và điều gì sẽ xảy ra nếu bạn viết và tạo một dự án nhiều lần, trường hợp này thường xảy ra? Bạn đã chạy thử nghiệm chức năng mới viết của mình và chúng cho kết quả khả quan. Bạn đã thực hiện một cam kết nhanh chóng, sau đó đẩy đi đâu đó và đang suy nghĩ về cách bạn sẽ hút một điếu xì gà ở nhà trong khi uống rượu whisky đắt tiền, nhưng không. Than ôi, đồng nghiệp hoặc sếp của bạn, bất kể ai, đều nói rằng do cam kết của bạn mà toàn bộ bản dựng đã bị hỏng. Bạn hoang mang nói rằng bạn là lập trình viên, bạn đã thử nghiệm mọi thứ. Nhưng thường thì đơn giản là không có thời gian để liên tục kiểm tra toàn bộ dự án và bạn chỉ kiểm tra đoạn mã mà bạn đã thực hiện các thay đổi chứ không phải toàn bộ tổ hợp. Đây là lúc CI hỗ trợ chúng tôi. Với mỗi lần đẩy tới bất kỳ tài nguyên nào, CI sẽ xây dựng dự án của bạn từ đầu, chạy TẤT CẢ các bài kiểm tra và chỉ khi tất cả các bài kiểm tra đều vượt qua và dự án được xây dựng thì bản dựng sẽ nhận được trạng thái đạt . Nếu không, bạn sẽ có cơ hội quay lại và xem điều gì đã xảy ra. Vì vậy, đã đến lúc đặt câu hỏi "Tại sao lại thế này mà không phải thế khác?" và xem quá trình triển khai phần mềm. Ví dụ Như tôi đã nói, bài viết dành cho những người đã quen với Maven và Git. Vì vậy, tôi hy vọng rằng bạn biết cách thức và những gì tôi làm ngoài việc thiết lập CI, v.v.-
Trước tiên, hãy tạo một dự án thử nghiệm Maven đơn giản và tạo một lớp trong đó in dòng chữ "Xin chào thế giới!" và thực hiện một số thao tác đơn giản, đồng thời hãy viết bài kiểm tra đơn giản nhất cho lớp này.
Kết quả là chúng ta sẽ có một cấu trúc dự án nguyên thủy:
Tất cả các nguồn sẽ có trên GitHub của tôi. Việc bạn viết gì trong phần Main của mình và sẽ có những bài kiểm tra nào không quan trọng.
-
Chúng tôi đẩy dự án của mình lên GitHub.
-
Bây giờ đến phần thú vị. Từ CI, tôi chọn Travis CI vì tính sẵn có và độ tin cậy của nó. Travis sử dụng GitHub để lưu trữ mã nguồn của nó.
Vì vậy, hãy truy cập trang web Travis CI và đăng nhập qua GitHub. Trong hồ sơ chúng tôi kết nối dự án của chúng tôi:
Mọi thứ đã sẵn sàng để lắp ráp với mỗi lần nhấn, nhưng câu hỏi là LÀM THẾ NÀO để lắp ráp?
-
Chúng tôi quay lại IDEA yêu quý của mình và tạo tệp .travis.yml
Tệp này chịu trách nhiệm về cấu hình bản dựng Travis. Hãy xem cài đặt phổ biến nhất:
- Bạn cần chỉ định ngôn ngữ mà dự án được thực hiện;
- Chỉ định đường dẫn đến các thư mục để xây dựng nhanh hơn;
- Chỉ định phương thức thông báo về việc lắp ráp thành công hoặc không thành công.
Cấu hình Travis điển hình sẽ trông như thế này:
# https://docs.travis-ci.com/user/languages/java/ language: java jdk: oraclejdk9 # Improve Build Speed https://dzone.com/articles/travis-ci-tutorial-java-projects cache: directories: - $HOME/.m2 # Notifications https://docs.travis-ci.com/user/notifications/ notifications: email: recipients: - qThegamEp@gmail.com on_success: always # default: change on_failure: always # default: always
Tôi đã thêm nhận xét, kèm theo liên kết, cho rõ ràng.
-
Chúng tôi lại truy cập GitHub và mở trang web Travis , chọn dự án và giám sát quá trình xây dựng. Kết quả là chúng tôi nhận được thông báo về quá trình xây dựng thành công:
Ngoài ra trên trang web, chúng ta có thể thấy một huy hiệu cho biết dự án của chúng ta đã được lắp ráp thành công mà chúng ta có thể chèn vào README.md của mình:
-
Dự án thử nghiệm của tôi mà bạn có thể xem/tải xuống nếu bạn không hiểu điều gì đó;
-
Trên thực tế , chính trang web Travis CI ;
-
Hướng dẫn trên trang web chính thức về cách thiết lập và sử dụng Travis CI;
-
Video hay ;
- Một hướng dẫn khác ;
GO TO FULL VERSION