Hướng dẫn này chỉ cho bạn cách sử dụng Jenkins để phối hợp xây dựng một ứng dụng Python đơn giản với PyInstaller Show
Nếu bạn là nhà phát triển Python chưa quen với các khái niệm CI/CD hoặc bạn có thể đã quen thuộc với các khái niệm này nhưng không biết cách triển khai xây dựng ứng dụng của mình bằng Jenkins, thì hướng dẫn này là dành cho bạn Ứng dụng Python đơn giản (mà bạn sẽ lấy từ kho lưu trữ mẫu trên GitHub) là một công cụ dòng lệnh "add2vals" tạo ra phép cộng hai giá trị. Nếu ít nhất một trong các giá trị là một chuỗi, thì "add2vals" coi cả hai giá trị là một chuỗi và thay vào đó nối các giá trị. Hàm "add2" trong thư viện "calc" (mà "add2vals") nhập vào được đi kèm với một tập hợp các bài kiểm tra đơn vị. Chúng được kiểm tra bằng pytest để kiểm tra xem chức năng này có hoạt động như mong đợi không và kết quả được lưu vào báo cáo JUnit XML Việc cung cấp công cụ "add2vals" thông qua PyInstaller chuyển đổi công cụ này thành một tệp thực thi độc lập cho Linux, bạn có thể tải xuống thông qua Jenkins và thực thi tại dòng lệnh trên các máy Linux mà không cần Python Ghi chú. Không giống như các hướng dẫn khác trong tài liệu này, hướng dẫn này yêu cầu tải xuống thêm khoảng 500 MB dữ liệu hình ảnh Docker Khoảng thời gian. Hướng dẫn này mất 20-40 phút để hoàn thành (giả sử bạn đã đáp ứng những điều bên dưới). Thời lượng chính xác sẽ phụ thuộc vào tốc độ máy của bạn và bạn đã xem hướng dẫn khác hay chưa Bạn có thể dừng hướng dẫn này bất kỳ lúc nào và tiếp tục từ nơi bạn đã dừng lại Nếu bạn đã chạy qua một hướng dẫn khác, bạn có thể bỏ qua các phần và phần bên dưới và tiếp tục. (Chỉ cần đảm bảo bạn đã cài đặt Git cục bộ. ) Nếu bạn cần khởi động lại Jenkins, chỉ cần làm theo hướng dẫn khởi động lại trong rồi tiếp tục điều kiện tiên quyếtĐối với hướng dẫn này, bạn sẽ yêu cầu
Chạy Jenkins trong DockerTrong hướng dẫn này, bạn sẽ chạy Jenkins dưới dạng bộ chứa Docker từ hình ảnh Docker 9Để chạy Jenkins trong Docker, hãy làm theo các hướng dẫn có liên quan bên dưới cho một trong hai hoặc Bạn có thể đọc thêm về khái niệm Docker container và image trong phần Docker của trang Cài đặt Jenkins Trên macOS và Linux
Trên WindowsDự án Jenkins cung cấp hình ảnh bộ chứa Linux, không phải hình ảnh bộ chứa Windows. Đảm bảo rằng cài đặt Docker cho Windows của bạn được định cấu hình để chạy 9 thay vì 0. Xem tài liệu Docker để biết hướng dẫn. Sau khi được định cấu hình để chạy 9, các bước là
Truy cập bộ chứa DockerNếu bạn có một số kinh nghiệm với Docker và bạn muốn hoặc cần truy cập bộ chứa Docker của mình thông qua dấu nhắc lệnh/thiết bị đầu cuối bằng cách sử dụng lệnh 4, bạn có thể thêm một tùy chọn như 5 vào lệnh 4. Điều đó sẽ truy cập vào vùng chứa Jenkins Docker có tên là "jenkins-tutorial"Điều này có nghĩa là bạn có thể truy cập bộ chứa docker của mình (thông qua một cửa sổ dấu nhắc lệnh/thiết bị đầu cuối riêng biệt) bằng một lệnh 4 như 8Truy cập nhật ký DockerChẳng hạn, có khả năng bạn cần truy cập nhật ký bảng điều khiển Jenkins khi là một phần của Nhật ký bảng điều khiển Jenkins có thể dễ dàng truy cập thông qua cửa sổ nhắc lệnh/thiết bị đầu cuối mà từ đó bạn đã thực hiện lệnh 1. Trong trường hợp nếu cần, bạn cũng có thể truy cập nhật ký bảng điều khiển Jenkins thông qua nhật ký Docker của vùng chứa của mình bằng lệnh sau 0Bạn có thể nhận được 1 bằng cách sử dụng lệnh 2Truy cập thư mục chính của JenkinsChẳng hạn, có khả năng bạn cần truy cập thư mục chính của Jenkins để kiểm tra chi tiết về bản dựng Jenkins trong thư mục con 3Nếu bạn đã ánh xạ thư mục chính của Jenkins (_______1_______8) tới một thư mục trên hệ thống tệp cục bộ của máy bạn (i. e. trong lệnh 1 ), thì bạn có thể truy cập nội dung của thư mục này thông qua dấu nhắc lệnh/thiết bị đầu cuối thông thường của máyMặt khác, nếu bạn đã chỉ định tùy chọn 6 trong lệnh 1, bạn có thể truy cập nội dung của thư mục chính Jenkins thông qua dấu nhắc lệnh/thiết bị đầu cuối của bộ chứa bằng cách sử dụng lệnh 8 9Như đã đề cập, bạn có thể nhận được 1 bằng cách sử dụng lệnh 1. Nếu bạn chỉ địnhTùy chọn 2 trong lệnh 3 ở trên (xem thêm ), bạn chỉ cần sử dụng lệnh 8 5trình hướng dẫn cài đặtTrước khi bạn có thể truy cập Jenkins, bạn cần thực hiện một số bước nhanh "một lần" Mở khóa JenkinsKhi bạn truy cập phiên bản Jenkins mới lần đầu tiên, bạn sẽ được yêu cầu mở khóa phiên bản đó bằng mật khẩu được tạo tự động
Tùy chỉnh Jenkins bằng pluginSau đó, trang Customize Jenkins xuất hiện Trên trang này, hãy nhấp vào Cài đặt plugin được đề xuất Trình hướng dẫn thiết lập hiển thị tiến trình Jenkins được định cấu hình và các plugin được đề xuất đang được cài đặt. Quá trình này có thể mất vài phút Tạo người dùng quản trị viên đầu tiênCuối cùng, Jenkins yêu cầu bạn tạo người dùng quản trị viên đầu tiên của mình
Dừng và khởi động lại JenkinsTrong suốt phần còn lại của hướng dẫn này, bạn có thể dừng bộ chứa Docker của mình bằng cách chạy 3Để khởi động lại bộ chứa Docker của bạn
Phân nhánh và sao chép kho lưu trữ mẫuLấy ứng dụng Python "thêm" đơn giản từ GitHub, bằng cách rẽ nhánh kho lưu trữ mẫu mã nguồn của ứng dụng vào tài khoản GitHub của riêng bạn và sau đó sao chép cục bộ rẽ nhánh này
Tạo dự án Đường ống của bạn trong Jenkins
Tạo Đường ống ban đầu của bạn dưới dạng JenkinsfileBây giờ, bạn đã sẵn sàng để tạo Quy trình tự động hóa việc xây dựng ứng dụng Python của mình với PyInstaller trong Jenkins. Quy trình của bạn sẽ được tạo dưới dạng 07, sẽ được cam kết với kho lưu trữ Git được nhân bản cục bộ của bạn ( 9)Đây là nền tảng của "Pipeline-as-Code", coi quy trình phân phối liên tục là một phần của ứng dụng được tạo phiên bản và xem xét giống như bất kỳ mã nào khác. Đọc thêm về Đường ống và Jenkinsfile là gì trong phần Đường ống và Sử dụng Jenkinsfile trong Sổ tay Người dùng Đầu tiên, tạo một Quy trình ban đầu với giai đoạn "Xây dựng" để thực hiện phần đầu tiên của toàn bộ quy trình sản xuất cho ứng dụng của bạn. Giai đoạn "Xây dựng" này tải xuống hình ảnh Python Docker và chạy nó dưới dạng bộ chứa Docker, từ đó biên dịch ứng dụng Python đơn giản của bạn thành mã byte
Thêm giai đoạn thử nghiệm vào Quy trình của bạn
Thêm giai đoạn phân phối cuối cùng vào Quy trình của bạn
Theo dõi (tùy chọn)Nếu sử dụng Linux, bạn có thể thử chạy ứng dụng 63 độc lập mà bạn đã tạo cục bộ bằng PyInstaller trên máy của mình. Để làm điều này
kết thúcTốt lắm. Bạn vừa sử dụng Jenkins để xây dựng một ứng dụng Python đơn giản Các giai đoạn "Xây dựng", "Thử nghiệm" và "Phân phối" mà bạn đã tạo ở trên là cơ sở để xây dựng các ứng dụng Python phức tạp hơn trong Jenkins, cũng như các ứng dụng Python tích hợp với các ngăn xếp công nghệ khác Bởi vì Jenkins cực kỳ có thể mở rộng, nên nó có thể được sửa đổi và định cấu hình để xử lý thực tế mọi khía cạnh của việc điều phối và tự động hóa bản dựng Để tìm hiểu thêm về những gì Jenkins có thể làm, hãy xem
Vui lòng gửi phản hồi của bạn về trang này thông qua biểu mẫu nhanh này Ngoài ra, nếu bạn không muốn hoàn thành biểu mẫu nhanh, bạn chỉ cần cho biết trang này có hữu ích không? |