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

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

Tích hợp liên tục Python là gì?

 

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 Python

Tích hợp liên tục Python là gì?

Chú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

  1. Viết chương trình Python

Đầ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.  

  • Một tệp trống có tên là “__init__. py”
  • Và tập lệnh này được gọi là “trình tạo. py”

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;

python-cicd$ python generator/generator.py
Honor With Men'S Legacy
python-cicd$ python generator/generator.py
Construction Against Directors

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.  

  1. tự động kiểm tra

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

python-cicd$  virtualenv venv
Honor With Men'S Legacy
python-cicd$ source venv/bin/activate
(venv) python-cicd$

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

pytest==6.2.4

Để 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”

(venv) python-cicd$ pip install -r requirements.txt

Tạo một thư mục mới có tên là “test” và đặt hai tệp vào bên trong.  

  • Một tệp trống có tên là “__init__. py”
  • Và tập lệnh này có tên là “test_generator. py”

Liên kết. tập lệnh

Sau đó chạy file test

(venv) python-cicd$ python -m pytest -v test/test_generator.py

Bạn sẽ thấy họ đi qua

Tích hợp liên tục Python là gì?
  1. Đẩy mã của bạn lên GitHub

Tích hợp liên tục Python là gì?

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

venv
__pycache__
test/__pycache__/
generator/__pycache__/

Đ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

[python-cicd] $ git init
[python-cicd] $ git add *
[python-cicd] $ git commit -m "Initial commit"
[python-cicd] $ git remote add origin
[email protected]:/python-cicd.git
[python-cicd] $ git push -u origin master

  1. Thiết lập GitHub Actions CI để liên tục chạy thử nghiệm tự động của bạn

Tích hợp liên tục Python là gì?

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

Tích hợp liên tục Python là gì?

Đ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; .  

Tích hợp liên tục Python là gì?

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

  1. Thiết lập Wily để liên tục kiểm tra chất lượng mã của bạn

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

Tích hợp liên tục Python là gì?

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.  

(venv)[python-cicd] $ pip install 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;

Tích hợp liên tục Python là gì?
  1. Biến chương trình Python thành ứng dụng web

Tích hợp liên tục Python là gì?

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

(venv)[python-cicd] $ pip install flask

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ộ

python-cicd$  virtualenv venv
Honor With Men'S Legacy
python-cicd$ source venv/bin/activate
(venv) python-cicd$
1

Mở vị trí máy chủ cục bộ và bạn sẽ thấy ứng dụng chạy trơn tru.  

Tích hợp liên tục Python là gì?

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.  

  1. Triển khai ứng dụng web lên Heroku

Tích hợp liên tục Python là gì?

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

Tích hợp liên tục Python là gì?

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.  

Tích hợp liên tục Python là gì?

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.
Đầu tiên, chúng ta cần cài đặt nó.

python-cicd$  virtualenv venv
Honor With Men'S Legacy
python-cicd$ source venv/bin/activate
(venv) python-cicd$
2

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

python-cicd$  virtualenv venv
Honor With Men'S Legacy
python-cicd$ source venv/bin/activate
(venv) python-cicd$
4

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

python-cicd$  virtualenv venv
Honor With Men'S Legacy
python-cicd$ source venv/bin/activate
(venv) python-cicd$
5

Tạo một “wsgi. py” và chèn đoạn mã sau

python-cicd$  virtualenv venv
Honor With Men'S Legacy
python-cicd$ source venv/bin/activate
(venv) python-cicd$
6

Cam kết các thay đổi của bạn và đẩy chúng lên Heroku.  

python-cicd$  virtualenv venv
Honor With Men'S Legacy
python-cicd$ source venv/bin/activate
(venv) python-cicd$
7

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.  

Tích hợp liên tục Python là gì?

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