Tích hợp liên tục Python là gì?
Tránh địa ngục tích hợp là một nhiệm vụ phải làm nhưng có vẻ đơn giản khi tổ chức của bạn bắt đầu phát triển và tuyển dụng các nhà phát triển mới. Khi làm việc một mình, viết mã của riêng bạn và làm cho nó hoạt động dường như là đủ. Tuy nhiên, làm việc với một nhóm các nhà phát triển phần mềm chuyên nghiệp làm tăng thêm thách thức khi phối hợp nhiều người làm việc trên cùng một mã. Trừ khi bạn muốn dành hàng giờ hoặc thậm chí hàng ngày để sửa mã để cuối cùng mã có thể tích hợp, đảm bảo mọi người đều đồng bộ và đảm bảo không có gì bị hỏng, bạn nên sử dụng Python cho CI/CD Show
Theo RedHat, “CI/CD là phương pháp phân phối ứng dụng thường xuyên cho khách hàng bằng cách đưa tự động hóa vào các giai đoạn phát triển ứng dụng. Các khái niệm chính được gán cho Python cho CI/CD là tích hợp liên tục, phân phối liên tục và triển khai liên tục. ”
Bây giờ chúng ta biết chúng ta đang nói về cái gì, hãy xem nó hoạt động như thế nào Cách xây dựng đường dẫn CI/CD bằng PythonChúng tôi sẽ xây dựng một quy trình CI/CD nhỏ theo 7 bước như bạn sẽ thấy bên dưới. Bắt đầu nào
Đầu tiên, chúng tôi cần một phần mềm nhỏ sẽ được triển khai lên đám mây. Chúng tôi sẽ xây dựng một trình tạo tên phim, nhưng nó cũng có thể là một hệ thống đề xuất phim Để làm điều này, trước tiên hãy tạo một thư mục mới (hãy gọi nó là “python-cicd”). Trong thư mục này, tạo một thư mục khác có tên là “generator” và trong thư mục này, lưu hai tệp.
Liên kết. tập lệnh Bạn sẽ có thể chạy tập lệnh Python này từ dòng lệnh bên trong thư mục “trình tạo” mà chúng tôi đã đề cập ở trên;
có vẻ tốt. Bây giờ hãy tiếp tục và thêm các từ của riêng bạn để tạo thêm các tiêu đề phim gốc.
Nhiều lập trình viên chọn kiểm tra mã họ đang viết thủ công bằng cách gọi đoạn mã họ đang phát triển, sau đó in kết quả ra bàn điều khiển và cuối cùng, quét đầu ra một cách trực quan để biết chính xác. Điều này hoạt động cho các nhiệm vụ đơn giản nhưng đặt ra một số vấn đề • Khi đầu ra quá lớn, sẽ khó phát hiện lỗi hơn • Khi người lập trình mệt mỏi, rất dễ bỏ sót đầu ra không chính xác • Khi tính năng được triển khai trở nên lớn hơn, chúng tôi có xu hướng bỏ sót các lỗi mà chúng tôi có thể đã giới thiệu trong các phần đã được “thử nghiệm” trước đó • Bởi vì các tập lệnh kiểm tra không chính thức có xu hướng chỉ hữu ích cho lập trình viên đã viết chúng, điều này có nghĩa là nó không hữu ích cho các nhà phát triển khác Những vấn đề này là lý do thử nghiệm đơn vị đã được phát minh. Thông qua thử nghiệm đơn vị, bạn viết lệnh gọi mẫu cho các đoạn mã và so sánh giá trị trả về với giá trị mong đợi So sánh này thường được thực hiện theo cách mang lại ít hoặc không có đầu ra khi thử nghiệm vượt qua và đầu ra rất rõ ràng nếu không. Bạn có thể sử dụng khai thác thử nghiệm để chạy thử nghiệm từ một số tập lệnh thử nghiệm và chỉ báo cáo lỗi cũng như tóm tắt thống kê về các thử nghiệm đã vượt qua Chúng tôi cần một số công cụ bổ sung để chạy các bài kiểm tra đơn vị mà chúng tôi sẽ viết. Chúng có sẵn dưới dạng gói Python cho CI/CD. Để cài đặt chúng, bạn nên sử dụng một công cụ gọi là virtualenv
Tiếp theo, tạo một tệp mới có tên “requirements. txt” liệt kê phần phụ thuộc pytest
Để tải xuống các phụ thuộc được liệt kê trong tệp yêu cầu, bạn sẽ cần thực thi lệnh “pip”
Tạo một thư mục mới có tên là “test” và đặt hai tệp vào bên trong.
Liên kết. tập lệnh Sau đó chạy file test
Bạn sẽ thấy họ đi qua
Chúng tôi đã chọn GitHub cho bài viết này, nhưng bạn có thể sử dụng hầu như bất kỳ nhà cung cấp Git nào. Hãy bắt đầu bằng cách đăng nhập vào GitHub (trước tiên bạn nên có một tài khoản nếu chưa có) và sau đó tạo một kho lưu trữ công khai mới có tên là “python-cicd” Trong thư mục dự án của bạn, hãy tạo một tệp mới có tên “. gitignore” có chứa nội dung sau
Điều này sẽ ngăn Git thêm virtualenv hoặc bất kỳ tệp IDE nào có thể gây ra sự cố cho chúng tôi sau này vào repo của chúng tôi. Bây giờ, bạn nên khởi tạo Git cục bộ và đẩy mã của mình lên GitHub
Truy cập kho lưu trữ GitHub của bạn và tạo quy trình làm việc mới trong tab hành động Điều này sẽ cam kết một tệp YAML vào kho lưu trữ của bạn. bên trong. github/workflows, tệp YAML của bạn phải tương tự như thế này. Liên kết. tập lệnh Hãy nhớ thay đổi phiên bản Python thành phiên bản bạn đang sử dụng trong dự án của mình Sau đó, hãy dùng thử bằng cách thực hiện bất kỳ thay đổi nào đối với mã của bạn và đẩy chúng lên; . Xin chúc mừng. Bạn đã xây dựng thành công quy trình tích hợp liên tục đầu tiên của mình
Wily là một công cụ python giúp bạn theo dõi khả năng bảo trì của dự án, để viết Mã đơn giản và dễ bảo trì hơn Trong mỗi bản dựng, chúng tôi sẽ hiển thị sự phát triển của điểm khả năng bảo trì của bạn và các chỉ số khác, chẳng hạn như dòng mã hoặc độ phức tạp của chu trình. Đầu tiên, chúng ta cần cài đặt Wily.
Thêm Wily theo yêu cầu của bạn. txt ________số 8 Sau đó, chúng tôi sẽ thêm Wily vào đường dẫn hành động GitHub bằng cách chỉnh sửa tệp YAML của chúng tôi. Thêm một bước mới vào tệp quy trình của chúng tôi, được gọi là “Wily”, vào cuối tệp của bạn. Liên kết. tập lệnh Đẩy các thay đổi của bạn và kiểm tra việc thực thi các hành động GitHub;
công việc tuyệt vời. Chúng tôi đã có một đường dẫn CI để kiểm tra chức năng và chất lượng Vì chúng tôi sẽ triển khai phần mềm cho Heroku dưới dạng ứng dụng web, trước tiên chúng tôi cần viết một trình bao bọc Python Flask nhỏ xung quanh trình tạo phim của chúng tôi để làm cho chương trình phản hồi các yêu cầu HTTP và xuất HTML Thêm mã bên dưới vào tệp có tên “ứng dụng. py” trong thư mục gốc của thư mục dự án của bạn Liên kết. tập lệnh cài đặt bình
Thêm bình theo yêu cầu của bạn. txt. ________số 8 Bây giờ bạn có thể chạy ứng dụng Flask cục bộ
Mở vị trí máy chủ cục bộ và bạn sẽ thấy ứng dụng chạy trơn tru. Làm mới nó một vài lần và xem các ý tưởng về tiêu đề phim Đẩy các thay đổi của bạn và xem hành động kỳ diệu của Wily.
Heroku là một nền tảng đám mây được sử dụng để lưu trữ các ứng dụng web nhỏ và có thể mở rộng. Nó cung cấp một gói miễn phí, vì vậy hãy truy cập https. //đăng ký. heroku. com và đăng ký nếu bạn chưa làm như vậy Sau khi bạn ở trong Heroku, hãy đồng bộ hóa kho lưu trữ GitHub của bạn với Heroku CLI, vì vậy, bất cứ khi nào bạn đẩy các thay đổi mới vào mã của mình trong GitHub, Heroku sẽ tự động xây dựng và triển khai ứng dụng của bạn Bắt đầu bằng cách tạo một ứng dụng mới trong Heroku và trong tùy chọn phương thức triển khai, hãy chọn “kết nối với GitHub. ” Bạn có thể phải đăng nhập vào GitHub nếu chưa đăng nhập và chọn repo cho dự án. Heroku phục vụ các ứng dụng Python với Gunicorn “Green Unicorn”, một máy chủ web Python được triển khai đơn giản, nhẹ về tài nguyên máy chủ, khá nhanh và tương thích rộng rãi với một số khung web.
Thêm Gunicorn theo yêu cầu của bạn. txt ________số 8 Trong thư mục gốc của dự án của bạn, hãy tạo một “Procfile” và viết đoạn mã sau
Sau đó, tạo một “thời gian chạy. txt” và bao gồm phiên bản Python bạn đang sử dụng; . 6. 14
Tạo một “wsgi. py” và chèn đoạn mã sau
Cam kết các thay đổi của bạn và đẩy chúng lên Heroku.
Nếu mọi thứ suôn sẻ, bạn sẽ thấy trình tạo phim hoạt động trên đám mây. chúc mừng. Giờ đây, với mọi thay đổi đối với mã của bạn, bạn sẽ tự động chạy thử nghiệm, kiểm tra khả năng bảo trì và triển khai lên Heroku. Nếu bạn gặp phải bất kỳ sự cố nào trong quá trình triển khai bằng Python cho CI/CD, vui lòng liên hệ với chúng tôi hoặc xem trang Python chính thức của Heroku Hàm tích phân liên tục là gì?Mục tiêu chính của tích hợp liên tục là để tìm và giải quyết các lỗi nhanh hơn, cải thiện chất lượng phần mềm và giảm thời gian xác thực cũng như phát hành các bản cập nhật phần mềm mới.
Đường dẫn CI CD trong ví dụ về Python là gì?Kênh CI/CD cho phép triển khai mã tự động và nhanh chóng . Họ tự động hóa càng nhiều quá trình phát triển càng tốt. Các quy trình CI/CD có thể bao gồm định dạng, thực thi phong cách tốt và cảnh báo nhà phát triển về các lỗi và chạy thử nghiệm.
CI và CD trong API là gì?Các quy trình Tích hợp liên tục/Triển khai liên tục (CI/CD) hiện đại được thiết kế để sử dụng, thao tác và cập nhật dữ liệu từ các dịch vụ/nền tảng bên ngoài.
CI trong API là gì?Tích hợp liên tục (CI) là một phương pháp phát triển yêu cầu các nhà phát triển thường xuyên hợp nhất các bản cập nhật mã vào một kho lưu trữ dùng chung . Nó liên quan đến quá trình tự động hóa việc xây dựng và kiểm tra mã mỗi khi nhà phát triển cam kết cập nhật mã. |