JavaRush /Blog Java /Random-VI /Hội nhập liên tục
Nikita Koliadin
Mức độ
Днепр

Hội nhập liên tục

Xuất bản trong nhóm
Xin chào các đồng nghiệp! Bạn cảm thấy mệt mỏi vì buộc máy tính của mình phải liên tục xây dựng một dự án? Sau đó bài viết này là dành cho bạn! Tích hợp liên tục - 1Trong bài viết này, tôi sẽ cố gắng trình bày ngắn gọn và rõ ràng tài liệu về Tích hợp liên tục (sau đây gọi tắt là CI), tôi sẽ trả lời những câu hỏi đơn giản như: “Nó là gì?”, “Tại sao?” và tại sao?" và tôi sẽ đưa ra một ví dụ về một dự án thử nghiệm. Bài viết này dành cho người dùng có kinh nghiệm, ít nhất đã quen thuộc với Build System: Maven , biết cách sử dụng Git và biết cách đẩy dự án lên GitHub ;

"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.
  1. 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ích hợp liên tục - 2

    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.

  2. Chúng tôi đẩy dự án của mình lên GitHub.

  3. 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:

    Tích hợp liên tục - 3

    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?

  4. 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.

  5. 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:

    Tích hợp liên tục - 4 Tích hợp liên tục - 5

    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:

    Tích hợp liên tục - 6
Liên kết hữu ích: Có thể có sai sót và thiếu sót trong văn bản. Cám ơn vì sự quan tâm của bạn!
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION